首页 文章

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

提问于
浏览
11

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

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

5 回答

  • 7
    # 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
    }
    

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

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

  • 1

    这可能不是一个“好”的方式,但它可能会成功 .

    QMAKE_POST_LINK += some shell command to copy the dll

  • 2

    我使用INSTALLS,like so.(qmake文档)

  • 4

    您可以使用 DESTDIR 关键字,如Qt 4中的qmake files documetation所述 .

  • 7

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

    target.path = ../testProject/$$TARGET
    INSTALLS += target
    

相关问题