Pull to refresh

Компиляция примеров в Qt 5.2 на OpenGL для платформы Windows 8.1

Как подготовиться к компиляции на OpenGL в Qt5.2 для платформы Windows 8.1 (x64/x86)


Хочу поделиться своим впечатлением новичка по настройке среды и установке Qt 5.2 и дополнительных библиотек для компиляции приложений, использующих библиотеку OpenGL.
Для начала работы, рекомендую установить все требуемые cutting-edge инструменты, включая:



Установка

Знаю, для многих — установка чистой системы принципиально не возможна, однако, это помогло мне для быстрого и относительно безболезненного погружения в среду разработки 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&gt\<version&gt\<compiler&gt\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)
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.