Используя файлы Qt Creator и Project, как мне скопировать созданную dll / so с помощью QMAKE_POST_LINK - PullRequest
2 голосов
/ 18 декабря 2010

Похоже, что на этот вопрос дан ответ в этом шаге

qmake: Как мне скопировать .dll / .so в выходной каталог?

но у меня это не работает. Я пытаюсь сделать это в Qt Creator 2.0.1 с Qt SDK 4.7.0 на Windows 7

Если я попытаюсь:

QMAKE_POST_LINK=copy /Y \Projects\TestFile.txt \Projects\OSPF\TestFile.txt

даже для статического файла, вывод, который я получаю:

copy /Y \Projects\TestFile.txt \Projects\OSPF\TestFile.txt
process_begin: CreateProcess(NULL, copy /Y \Projects\TestFile.txt \Projects\OSPF\TestFile.txt, ...) failed.
make (e=2): The system cannot find the file specified.

Если я попытаюсь:

QMAKE_POST_LINK=cmd.exe /C copy /Y \Projects\TestFile.txt \Projects\OSPF\TestFile.txt

Вывод, который я получаю:

cmd.exe /C copy /Y \Projects\TestFile.txt \Projects\OSPF\TestFile.txt
The system cannot find the file specified.

Кто-нибудь знает ответ на этот вопрос?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2010

Я понял!

Очевидно, что копия не работает, если вы начинаете с корня вашего диска. Вернитесь и посмотрите на мой пример. Я начал с корня моего текущего диска. Я тоже пробовал

QMAKE_POST_LINK=copy /Y $$PWD\MyFile  $$PWD\anotherdir\MyFile

Это тоже не сработало.

Очевидно, вы должны относиться к вашему каталогу ???? Я не уверен, каковы реальные ограничения.

0 голосов
/ 18 декабря 2010

Поскольку в сообщении об ошибке указывается, что проблема в пути к файлу, который вы хотите скопировать.

Я создал простой файл .pro и использовал ту же команду для копирования файла - с соответствующим измененным путем - и он работал правильно.

QMAKE_POST_LINK=copy /Y .\hello.h .\debug\hello.h;

это эквивалентно

QMAKE_POST_LINK=copy /Y hello.h debug\hello.h;

С помощью этой команды файл hello.h, находящийся в том же каталоге файла .pro, копируется в папку отладки.

...