使用Qt Creator和Project文件,如何使用QMAKE_POST_LINK复制创建的dll /

时间:2010-12-18 05:33:23

标签: qt qmake

这个问题似乎在这个问题上得到了回答

qmake: How do I copy .dll/.so's to the output directory?

但它对我不起作用。我试图在Qt Creator 2.0.1中使用Windows 7上的Qt SDK 4.7.0进行此操作

如果我尝试:

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 :(得分:0)

由于错误消息表明问题出在您要复制的文件的路径中。

我创建了一个简单的.pro文件,并使用相同的命令复制文件 - 相应地更改了路径 - 并且它正常工作。

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

它相当于

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

使用此命令,将.pro文件的同一目录中的文件hello.h复制到调试文件夹。

答案 1 :(得分:0)

我明白了!

如果您从驱动器的根目录开始,则副本显然不起作用。回去看看我的例子。我是从当前驱动器的根源开始的。我也试过

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

这也不起作用。

显然你必须是相对于你的目录????我不确定真正的限制是什么。