我有一个基于 Qt 的应用程序,它使用许多在项目外部构建的 dll。这些 dll 被 checkin 源代码,因为我们不会非常频繁地重建它们(它们需要几个小时才能构建,我不希望它们出现在主项目中)。我想在构建完成后将这些 dll 复制到适当的目录(发布、调试)中。有没有办法将该复制步骤合并到 .pro 文件中,以便将复制传播到使用该代码的每台计算机?我在 this 等地方找到的建议是使用构建后步骤并构建批处理文件,但构建后步骤不在计算机之间共享(它们存储在 .pro.user 文件中,该文件是特定于计算机的)。
我尝试过使用类似的东西:
Debug:POST_TARGETDEPS = ../../Dir1/Dir2/bin/mylib.dll
但这不会将文件复制到调试目录或 DESTDIR 目录中。
最佳答案
您将需要使用INSTALLS
关键字,然后确保在构建时执行make install
。
dlls_to_move.path = $$DESTDIR
dlls_to_move.files += ../../Dir1/Dir2/bin/mylib.dll
INSTALLS += dlls_to_move
您可以在QMake documentation中找到有关安装的更多信息。 。
关于qt - 如何在不使用 QtCreator 的情况下将 dll 文件复制到 Qt 中的输出目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285687/