qmake:如何将.dll/.so复制到输出目录?

Ras*_*ber 11 qt qmake

我有一个Qt项目,它构建一个dll /共享库和另一个测试库的Qt项目.

有没有什么好办法让qmake将dll复制到测试项目的output-folder?

Wim*_*ers 8

# Copy the dynamic library.
win32 {
   QMAKE_PRE_LINK=copy /Y lib\qextserialport\src\build\qextserialportd.dll debug\ & copy /Y lib\qextserialport\src\build\qextserialport.dll release\
}
else {
   # TODO: Unices
}
Run Code Online (Sandbox Code Playgroud)

这适用于QextSerialPort库.支持Qt的debug_and_release模式.

QMAKE_POST_LINK也有效,但如果你试图立即运行应用程序会抛出错误:然后你的.dll将被复制太晚.QMAKE_PRE_LINK会及时复制它.


Tim*_*imW 7

将其添加到您的专业档案:

target.path = ../testProject/$$TARGET
INSTALLS += target 
Run Code Online (Sandbox Code Playgroud)