воскресенье, 4 января 2015 г.

Скрещивание Qt (+QtCtreator IDE) с компилятором MS Visual Studio 2012 (ver 11.0)

Ох, много седых волос прибавилось за этот долгий день. Итак, самым главным откровением оказалось то, что студия 2012 года является версией 11.0. Необходимо установить Windows SDK (советую отказаться от документации - сэкономит около 2,5Гб при установке с онлайновым инсталлятором). Далее необходимо установить переменные окружения. Пусть студия находится по адресу C:\Program Files (x86)\Microsoft Visual Studio 11.0, а Qt - C:\Qt\5.4

MSVS11ROOT="C:\Program Files (x86)\Microsoft Visual Studio 11.0"
INCLUDE="%MSVS11ROOT%\VC\include\;C:\Program Files (x86)\Windows Kits\8.0\Include\um"
LIB="%MSVS11ROOT%\VC\lib;C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86;"
LIBPATH="%MSVS11ROOT%\VC\lib\"
QTDIR="C:\Qt\5.4"
QMAKESPEC="win32-msvc2012"
PATH="...;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin;C:\Qt\Tools\mingw491_32\bin;C:\Qt\5.4\msvc2012_opengl\lib;C:\Program Files (x86)\Windows Kits\8.1\bin\x86"

Когда компилятор ругался крокозябрами на то, что не нашел тулы для сборки (всякие cl.exe, mt.exe), необходимо соответствующий путь добавлять в переменную Path. Ошибка с необнаруживаемым заголовочником stddef.h относится к переменной INCLUDE.

Переменные окружения можно делать и пользовательскими, главное - не забывать перезагружаться/перелогиниться в системе после каждого изменения в переменных!