У меня VS2005 с интегратором и Qt-4.0.0
Возникла необходимость собирать проект и с dll и статическую.
В VS -> Tools -> Options -> Qt -> Builds задала пути для обеих библиотек, но вот создать проект под студию из .pro не получается, если путь в Qt -> Builds по умолчанию и
QTDIR не совпадают.
выдает следующее:
--- (Import): Generating new project of musicplayer.pro file
--- (qmake) : Using: [Путь, который указан в Qt -> Builds]\bin\qmake
--- (qmake) : Working Directory: E:\Visual Studio 2005\Projects\musicplayer
--- (qmake) : Arguments: -spec $(QTDIR)\mkspecs\win32-msvc2005 -tp vc "musicplayer.pro" -o "musicplayer.vcproj" QMAKE_INCDIR_QT=$(QTDIR)\include QMAKE_LIBDIR_QT= QMAKE_LIBDIR=$(QTDIR)\lib QMAKE_UIC=$(QTDIR)\bin\uic.exe QMAKE_MOC=$(QTDIR)\bin\moc.exe QMAKE_RCC=$(QTDIR)\bin\rcc.exe QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
--- (Import): Error(s): 0
--- (qmake) : Exit Code: 3
Ещё нашла где-то в настройках проекта возможность вставить команду до компиляжа, после компиляжа, до линковки. Наивно думала, что это спасёт, если в качестве команды указать "SET QTDIR=.....". Но, судя по логу, команды до компиляжа запускаются из одного временного батника, а компилятор из другого, т.е. переменная восстановила своё прежнее значение.
============ ПРОБЛЕМА РЕШЕНА ===============
1. Пусть имеем две библиотеки в каталогах c:\qt-4.4.0-static и c:\qt-4.4.0-share
2. Из переменных окружения
вышибаем переменную QTDIR (я ещё удивилась, чего это она не упоминается в файле инсталляции....)
3. В студии (у меня VS2005 с интегратором) выбираем Tools -> Options -> Qt -> Builds. Добавляем туда пути до библиотек.
4. Там же устанавливаем нужную по умолчанию.
5. Выбираем в меню Qt->Open Solution From .pro File. Создаётся студийный проект под заданную по умолчанию библиотеку. Всё готово!
6. Нужно поменять библиотеку, повторяем п.4. и п.5. При этом оно предлагает существующий проект переименовать или перезаписать.
Если бы
crossly высказался более определённо, а не
QTDIR тебе вообще не нужно....
дошло бы раньше. Но всё равно , спасибо
crossly и
Godfather.