- PVSM.RU - https://www.pvsm.ru -
В этой статье нет ничего сверхъестественного. Я хотел просто собрать вместе все нюансы и проблемы, с которыми я столкнулся, связанные с построением Qt в одной статье — вдруг кому-нибудь пригодится.
Задача заключалась прежде всего в том что бы избавиться от проблем со звуком под XP, путем использования dsengine как альтернативу самописного плагина воспроизведения звука (на основе ffmpeg), а для Windows Vista+ можно вполне использовать wmfengine. Поэтому выбор пал на версию 5.1.1.
Так же я преследовал цель получить более расширенную версию языка C++11, поэтому я собирал под Visual C++ 11.0 ( x86 ). Проблем с x64 версией библиотек проблем нет ее можно скачать с официального сайта.
Так же в названии статьи присутствует “XP” — потому что именно в на этой операционной системе и возникали проблемы, так как.
В итоге получаем следующий bat-файл vars32.bat:
REM For fast compiling
set CL=/MP
REM include
set INCLUDE=e:share_open_source_icu-51.2-vs2012include;e:share_open_source_pthreadsinclude;%INCLUDE%
REM lib
set LIB=e:share_open_source_icu-51.2-vs2012lib;e:share_open_source_pthreadslibx86;%LIB%
REM tools
set PATH=e:share_open_source_icu-51.2-vs2012bin;C:Ruby200-x64bin;%CD%gnuwin32bin;C:Python27;C:Perl64bin;C:Program Files (x86)Microsoft DirectX SDK (June 2010)Utilitiesbinx86;%CD%qtbasebin;e:share_open_source_pthreadsdllx86;%PATH%
…
REM for nmake
CALL "C:Program Files (x86)Microsoft Visual Studio 11.0VCvcvarsall.bat" x86
REM for XP
set INCLUDE=%ProgramFiles(x86)%Microsoft SDKsWindowsv7.1AInclude;%INCLUDE%
set PATH=%ProgramFiles(x86)%Microsoft SDKsWindowsv7.1ABin;%PATH%
set LIB=%ProgramFiles(x86)%Microsoft SDKsWindowsv7.1ALib;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%
# if defined(Q_CC_MINGW) || (defined(Q_CC_MSVC) && _MSC_VER < 1700) || (defined(Q_CC_MSVC) && _MSC_VER >= 1700 && defined(_USING_V110_SDK71_))
Иначе из-за объявленной дерективы _USING_V110_SDK71_ союрать не удастся
б) Файл qtbaseqmakeMakefile.win32
в переменный CFLAGS_BARE добавляем по -DUNICODE -D_USING_V110_SDK71_
в) Файл qtbasemkspecswin32-msvc2012qmake.conf, в переменную QMAKE_CFLAGS:
QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t -D_USING_V110_SDK71_
, а так же QMAKE_LFLAGS_CONSOLE и QMAKE_LFLAGS_WINDOWS:
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE,5.01
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
configure -no-angle -mp -debug-and-release -no-audio-backend -opengl desktop -platform win32-msvc2012 -skip qtwebkit -skip qtwebkit-examples -skip qttranslations -icu -prefix "c:devbuilding_qtbinx86" -opensource -confirm-license -nomake tests -nomake examples
-no-angle — так как в моем проекте используется OpenGL “напрямую”, у меня возникли проблемы с ANGLE (http://qt-project.org/wiki/Qt-5-on-Windows-ANGLE-and-OpenGL). Если вкратце как я понял это дополнительная абстракция над API OpenGL, поэтому у меня и возникли проблемы с одноименными сущностями.
vars32.bat && conf32.bat
Убеждаемся что у нас Qt настроен как нам нужно
если без webkit’a
jom && jom install
если все разом (и пойти спать)
jom && jom install && cd qttranslations && qmake && jom install && cd ..qtwebkit && qmake && jom && jom install
Спасибо за внимание! Надеюсь кому нибудь пригодится. Мое приложение замечательно работает.
Автор: ram2406
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/47282
Ссылки в тексте:
[1] qt-project.org/downloads: http://qt-project.org/downloads
[2] download.qt-project.org/official_releases/qt/5.1/5.1.1/single/: http://download.qt-project.org/official_releases/qt/5.1/5.1.1/single/
[3] qt-project.org/wiki/Building_Qt_5_from_Git: http://qt-project.org/wiki/Building_Qt_5_from_Git
[4] blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx: http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx
[5] www.rapidee.com/ru/about: http://www.rapidee.com/ru/about
[6] Источник: http://habrahabr.ru/post/200474/
Нажмите здесь для печати.