Создает ли Qt Creator переменную qmake, содержащую каталог сборки, на который можно ссылаться из файла проекта Qt?
Каталог сборки по умолчанию Qt Creator:
../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
Моя цель - скопировать dll import lib из вывода сборки с помощью QMAKE_POST_LINK, чтобы упростить связь моего проекта-клиента. QMAKE_POST_LINK работает, если я жестко кодирую путь к lib lib.
Например:
QMAKE_POST_LINK = copy C:\projects\ICP\sw\icpts\sandbox\configurable-system-test-io\build-lib-configurable-system-test-io-Desktop_Qt_5_1_0_MSVC2012_32bit_eb09a8-Debug\debug\*.lib ..\my-lib
Решение: Решение, предоставленное fbucek для использования $$ OUT_DIR, решило мою проблему. Спасибо!
- В Windows вы должны использовать $$ shell_path ($$ OUT_PWD) в QMAKE_POST_LINK для преобразования символов пути Unix '/' к символам пути Windows\.
- Чтобы добавить несколько команд в QMAKE_POST_LINK, заключите в $$ quote() с добавленным $$ escape_expand (\n).
Пример нескольких команд QMAKE_POST_LINK:
QMAKE_POST_LINK += $$quote(copy /Y $$shell_path($$OUT_PWD)\debug\*.dll ..\lib$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(copy /Y $$shell_path($$OUT_PWD)\debug\*.lib ..\lib$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(copy /Y $$shell_path($$OUT_PWD)\debug\*.pdb ..\lib$$escape_expand(\\n))
Еще раз спасибо за $$ OUT_PWD!
Ред
- Qt Creator 2.7.2
- Qt 5.1
- Microsoft VS 2012
- Windows 7