воскресенье, 21 марта 2010 г.

Как создать свою Qt command prompt (windowsXP)

У меня установлена коммерческая версия Qt для windows, настроенная под работу в среде visual studio 2008. После того как я переконфигурировал ее для работы с компилятором minGW, возникли проблемы с использованием Qt command prompt. Собственно об этих проблемах идет речь далее.

Долго не мог понять, почему в справке по 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
Окно:



















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























Комментариев нет:

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