Как подготовиться к компиляции на OpenGL в Qt5.2 для платформы Windows 8.1 (x64/x86)
Хочу поделиться своим впечатлением новичка по настройке среды и установке Qt 5.2 и дополнительных библиотек для компиляции приложений, использующих библиотеку OpenGL.
Для начала работы, рекомендую установить все требуемые cutting-edge инструменты, включая:
- Qt 5.2 с поддержкой OpenGL,
- одну из редакций Microsoft Visual Studio 2013
Установка
Знаю, для многих — установка чистой системы принципиально не возможна, однако, это помогло мне для быстрого и относительно безболезненного погружения в среду разработки Qt 5.2. Скачав на чистую систему Microsoft Windows 8.1 с полностью установленной Microsoft Visual Studio 2013, версию Qt 5.2, немало удивился, когда увидел, что компилятор выдает ошибку не найден файл «GL\gl.h» (3 раза) для казалось бы самого простого примера OpenGL — Rogue Example.
Мои пути установки:
- Qt 5.2: C:\Qt\Qt5.2.0\
- Microsoft Visual Studio 2013 Ultmate: C:\Program Files (x86)\Microsoft Visual Studio 12.0\
Qt 5.2
Откуда брать пример Rogue Example? После инсталляции Qt 5.2, установщик предложил мне отметить галочкой и прочесть файл readme.
Цитата:
Running Example Applications
— You can open most example applications in the Qt Creator Welcome mode to build
and run them. Additional examples can be opened by browsing
<install_dir>\<version>\<compiler>\examples.
Решение
Порывшись немного в Интернет, понял, что вместо установки DirectX SDK для новой платформы, лучше ставить Windows SDK для Windows 8.1
В процессе установки Visual Studio 2013, программой установки создается файл vcvars32.bat, с таким примерно содержимым:
@ if not "%WindowsSdkDir%" == "" (
@ set PATH=%WindowsSdkDir%bin\x86;%PATH%
@ set INCLUDE=%WindowsSdkDir%include\shared;%WindowsSdkDir%include\um;%WindowsSdkDir%include\winrt;%INCLUDE%
@ set LIB=%WindowsSdkDir%lib\winv6.3\um\x86;%LIB%
@ set «LIBPATH=%WindowsSdkDir%References\CommonConfiguration\Neutral;%ExtensionSDKDir%\Microsoft.VCLibs\12.0\References\CommonConfiguration\neutral;%LIBPATH%»
)
Эврика!
Прошу обратить внимание, что проверяется наличие переменной окружения WindowsSdkDir. То, что нужно. Мы предоставим эту переменную окружения. Этот файл располагается в папке \VC\bin папки установки Visual Studio 2013 и вызывается в файле из папки установки: vcvarsall.bat
Для того, чтобы установить все необходимые для сборки бинарные файлы и все необходимые для сборки в Qt 5.2 заголовочные файлы, мы, дополнительно, установим Windows SDK для Windows 8.1.
Теперь осталось лишь написать свои vcvarsall.bat и qtcreator.bat:
vcvarsall.bat:
@ set WindowsSdkDir = "%ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\8.1"
@ call "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
qtcreator.bat:
@ call vcvarsall.bat
@ C:\Qt\Qt5.2.0\Tools\QtCreator\bin\qtcreator.exe
Лично поместил их в папку \Build\x64\ корневой папки системного раздела, так как предполагаю, что не так уж часто мне не потребуется запуск среды QtCreator.
Запускаем qtcreator.bat, в боковом меню нажимаем кнопку «Примеры», в строке поиска вбиваем «Rogue», и выбираем «Rogue Example».
Теперь лишь осталось собрать проект и запустить его.
Всё работает!
Ссылки
Исходники:
Windows 8.1
Visual Studio Express 2013 для Windows Desktop
Windows SDK для Windows 8.1
Qt 5.2.0 for Windows 32-bit (VS 2010, OpenGL, 569 MB)