Предупреждение
Сборка займет порядка 6 часов времени и 8 гигабайт места на жестком диске :).
Устанавливаем компилятор
Для корректной работы отладчика в QtCreator собирать рекомендуется компилятором от Microsoft.
Скачиваем SDK тут, запускаем инсталлятор и устанавливаем всю ветку «developer tools» (при сборке Qt используется почти все оттуда).
Собираем исходники в кучку
Скачиваем исходники последнего QtCreator 1.3 тут и распаковываем архив в
c:\qt\
Переименовываем распаковавшуюся папку в
2010.01.x64
Затем скачиваем исходники последней Qt 4.6 тут и распаковываем архив в
c:\qt\2010.01.x64
Переименовываем распаковавшуюся папку в
qt
Здесь нужно учитывать, что при компиляции имена папок будут вкомпилированы в qmake и поменять их будет нельзя. Приведенные мной имена папок соответствует тому, куда Qt устанавливает инсталлятор под windows.
Сборка
Запускаем
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\Visual Studio 2008 x64 Win64 Command Prompt.lnk
В открывшейся консоли последовательно выполняем:
cd c:\qt\2010.01.x64\qt
configure.exe
o
y
nmake
Вызов configure.exe создает makefile для сборки всего компилятором от microsoft (компилятор
определится автоматически, так как мы работаем в visual studio command prompt — переменные окружения с нами). «o» выберет тип лицензии open source (бесплатно), «y» подтвердит соглашение с лицензией. Вызов nmake — это собственно утилита от microsoft для чтения makefile и компиляции чего надо и чего не надо. После того как nmake отработала (а это несколько часов) не закрываем консоль и копируем куда-нибудь во временную папку все .pdb файлы из
c:\qt\2010.01.x64\qt\lib
Из-за баги в makefile они будут стерты при удалении временных файлов. Затем продолжаем в консоли:
nmake clean
set PATH=%PATH%;c:\qt\2010.01.x64\qt\bin
cd c:\qt\2010.01.x64
qmake "CONFIG+=release" -r
nmake release
Не закрывая консоль, копируем во временную папку все .pluginspec файлы из
c:\qt\2010.01.x64\lib\qtcreator\plugins\nokia
Это тоже баг в makefile. Затем продолжаем в консоли:
nmake clean
После того как все скомпилировалось, перемещаем .pdb и .pluginspec файлы обратно. QtCreator компилируется в релизном варианте, так как отладочный билд будет запускаться как command-line приложение с неубираемой консолью.
Обтачивание напильником
После того как все успешно собрано, все .dll файлы в окончании имени которых нет «d» копируются из папки
c:\qt\2010.01.x64\qt\bin
в папку
c:\qt\2010.01.x64\bin
Среда разработки QtCreator запускается как
c:\qt\2010.01.x64\bin\qtcreator.exe
Перед его вызовом необходимо вызвать
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat
Это нужно для того, чтобы QtCreator корректно работал с компилятором и отладчиком от Microsoft.
Запускаем QtCreator, выбираем Tools->Options->Project, снимаем галочку с «Use jom». Можно в принципе и не снимать, но тогда этот самый jom нужно будет скачать и скопировать в «bin». Нажимаем «Apply».
Затем выбираем Tools->Options->Qt4->QtVersions, нажимаем на "+" в правом верхнем углу, в поле «Version Name» прописываем «Qt 4.6.0 x64», в поле «QMake location» прописываем
«C:\qt\2010.01.x64\qt\bin\qmake.exe», устанавливаем «MSVC Version» в «9.0», в поле «Default Qt Version» выбираем «Qt 4.6.0 x64» и нажимаем на кнопку «Rebuild». Выбираем Tools->Options->Help->Documentation, нажимаем «Add» и добавляем все .qch файлы из c:\qt\2010.01.x64\qt\doc\qch
Вообщем-то все. Создание, редактирование, сборка и, что самое приятное — отладка 64 битных Qt программ под windows к вашим услугам. За сим прощаюсь и жду комментариев. Если есть вопросы — постараюсь ответить. Если есть что рассказать (может зря я все это делал и на просторах сети уже лежат готовые инсталляторы :) — буду благодарен.
Updated 27.06.2010
Для сборки с недавно вышедшем Visual Studio 2010 SDK необходимо запускать configure.exe с ключем
-platform win32-msvc2008При этом желательно использовать последнюю версию Qt из GIT и бранч 2.0 Qt Creator оттуда же
git clone -b 2.0 git://gitorious.org/qt-creator/qt-creator.git c:\qt\qt-creator.latest
Перед запуском необходимо установить perl и заменить в qt/mkspecs/win32-msvc2010/qmake.conf фрагмент «QMAKE_CFLAGS_RELEASE = -O2 -MD» на «QMAKE_CFLAGS_RELEASE = -Od -MD».