Долго не мог понять, почему в справке по Qt настоятельно рекомендуется выполнять команды qmake не просто в командной строке, а в командной строке Qt, либо в командной строке Visual Studio.
Я удивлялся тому, что, хотя в установках
панель управления->система->дополнительно->переменные среды
я правильно указал свои переменные:

При запуске Qt command prompt они оказываются перенастроены иначе:

Оказалось, дело в том, что Qt command prompt, также как и Visual Studio Command Prompt - это не просто ярлыки для запуска командной строки cmd.exe!
Моя Qt находится в директории e:\Qt\4.6.0. Запуск "Qt command prompt" выполняет скрипт Qt\4.6.0\bin\qtvars.bat следующего содержания:
@echo off
rem
rem This file is generated by the Qt installer
rem
echo Setting up a Qt environment...
set QTDIR=e:\Qt\4.6.0
echo -- QTDIR set to e:\Qt\4.6.0
set PATH=e:\Qt\4.6.0\bin;%PATH%
echo -- Added e:\Qt\4.6.0\bin to PATH
set QMAKESPEC=win32-msvc2008
echo -- QMAKESPEC set to "win32-msvc2008"
if not "%1"=="vsvars" goto ENDVSVARS
call "E:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
:ENDVSVARS
if not "%1"=="vsstart" goto ENDVSSTART
call "E:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
devenv /useenv
:ENDVSSTART
Из которого видно, что сначала настраиваются переменные среды для Qt, а потом настраиваются переменные среды для вижал студио.
Т.е. я понял, что этот скрипт мне теперь совершенно не подходит. И я сделал его аналог, взяв этот скрипт за образец.
Создал файлик qt-vars.bat :
@echo off
rem
rem This file is generated by Devilktulhu
rem
echo Setting up a Qt environment...
set QTDIR=e:\Qt\4.6.0
echo -- QTDIR set to e:\Qt\4.6.0
set PATH=e:\Qt\4.6.0\bin;%PATH%
echo -- Added e:\Qt\4.6.0\bin to PATH
set PATH=e:\Dev\minGW\bin\;%PATH%
echo -- Added e:\Dev\minGW\bin\ to PATH
set QMAKESPEC=win32-g++
echo -- QMAKESPEC set to "win32-g++"
Но этого мало - если просто запускать этот файл, то он будет схлопываться, и даже не получится посмотреть, что показалось на экране. Поэтому, создал для него ярлык. В свойствах ярлыка, в поле Объект указал: %COMSPEC% /k "e:\Dev\qt-vars.bat"
В поле рабочая папка: d:\programming\QT
Окно:

После запуска ярлыка получим:

Комментариев нет:
Отправить комментарий