Как скомпилировать Qt 3.3.6 для использования в VC2012?
Мне нужно скомпилировать Qt 3.3.6 на моем ПК с Win 7, чтобы использовать его в сочетании с моим компилятором MSVC2012 C++ (MSVS 2012 Professional).
Простая причина в том, что у меня есть лицензия Qt 3.3.6 и много исходного кода Qt 3.3.6. Таким образом, обновление Qt не вариант. "Гугл" не помогает...
Отредактировано:16/11/10 13:40
Я уже пытался скомпилировать его, запустив оболочку через VS2012 (Tools/VisualStudioCommandPrompt) и изменив cwd на каталог Qt, содержащий соответствующий Makefile:
C:\Qt\3.3.6>bin\configure.exe -redo -spec win32-msvc2012
License file not found in C:/Users/mdew
Enterprise modules will not be available.
QMAKESPEC...................win32-msvc
Maketool....................nmake
[...list of all the installed programs...]
Configuration:
nocrosscompiler
dialogs
iconview
kernel
styles
tools
widgets
workspace
minimal-config
small-config
medium-config
large-config
full-config
release
thread
no-gif
zlib
jpeg
mng
png
bigcodecs
no-tablet
Debug symbols...............no
Thread support..............yes
Accessibility support.......no
Big Textcodecs..............yes
Tablet support..............no
STL support.................yes
Additional exports..........no
Exception support...........yes
RTTI support................yes
OpenGL support..............no
Image formats:
GIF support.............no
MNG support.............qt
JPEG support............qt
PNG support.............qt
Styles:
Windows.................yes
Windows XP..............no
Motif...................yes
Platinum................yes
MotifPlus...............yes
CDE.....................yes
SGI.....................yes
Sql Drivers:
ODBC....................no
MySQL...................no
OCI.....................no
PostgreSQL..............no
TDS.....................no
DB2.....................no
SQLite..................no
Interbase...............no
Sources are in..............C:\Qt\3.3.6
Install prefix..............C:\Qt\3.3.6
Headers installed to........C:\Qt\3.3.6\include
Libraries installed to......C:\Qt\3.3.6\lib
Plugins installed to........C:\Qt\3.3.6\plugins
Binaries installed to.......C:\Qt\3.3.6\bin
Docs installed to...........C:\Qt\3.3.6\doc
Data installed to...........C:\Qt\3.3.6
Translations installed to...C:\Qt\3.3.6\translations
Creating qmake...
Microsoft (R) Program Maintenance Utility Version 11.00.61030.0
Copyright (C) Microsoft Corporation. All rights reserved.
cd qmake
NMAKE : fatal error U1077: 'cd' : return code '0x1'
Stop.
Building qmake failed, return code 2
Итак, моя попытка скомпилировать его через MSVS2012 не удалась. NMAKE попадает в беду.
Что я делаю неправильно?
Заранее спасибо за любую подсказку!
BR mdew
1 ответ
Я попытался скомпилировать Qt 3.3.6 из исходного кода с MSVC2015, и у меня все получилось.
Загрузите исходный код Qt 3 с https://sourceforge.net/projects/qtwin/files/Unofficial%20Qtwin/qt-win-3.3.6-6/
у вас должна быть переменная окружения QTDIR
set QTDIR=<your path to Qt 3 folder>
убедитесь, что папка bin находится в вашем PATH
set PATH=%QTDIR%\bin;%PATH%
замените PATH_MAX на MAX_PATH в следующих файлах:
src\tools\qdir_win.cpp
src\tools\qdir.cpp
комментировать или удалить
#include <winable.h>
от
src\kernel\qaccessible_win.cpp
бежать
configure.bat --help
configure.exe и link_include.exe будут сгенерированы в папке bin.
cd bin
configure.exe -no-dsp -v
если вы получаете сообщение об ошибке C3688: недопустимый литеральный суффикс 'QTDLL_POSTFIX'
удалите все QTDLL_POSTFIX в этих файлах:
qmake\generators\win32\borland_bmake.cpp
qmake\generators\win32\mingw_make.cpp
qmake\generators\win32\msvc_dsp.cpp
qmake\generators\win32\msvc_nmake.cpp
qmake\generators\win32\msvc_vcproj.cpp
и изменить
QString dllStem = stem + QTDLL_POSTFIX;
в
QString dllStem = stem;
в
qmake\generators\win32\winmakefile.cpp
повторный показ
configure.exe -no-dsp -v
теперь он должен успешно скомпилироваться