4

我有一个基于 Qt 的应用程序,它使用了许多在项目之外构建的 dll。这些 dll 被签入源代码,因为我们不会非常频繁地重建它们(它们需要几个小时才能构建,我不希望它们出现在主项目中)。一旦构建发生,我想将这些 dll 复制到适当的目录(发布、调试)中。有没有办法将该复制步骤合并到 .pro 文件中,以便将复制传播到使用该代码的每台机器?我在这样的地方发现的建议使用构建后步骤并构建批处理文件,但构建后步骤不在机器之间共享(它们存储在 .pro.user 文件中,该文件是特定于机器的)。

我试过使用类似的东西:

Debug:POST_TARGETDEPS = ../../Dir1/Dir2/bin/mylib.dll

但这不会将文件复制到调试目录或 DESTDIR 目录中。

4

1 回答 1

5

您将需要使用INSTALLS关键字,然后确保在构建时执行make install.

dlls_to_move.path = $$DESTDIR
dlls_to_move.files += ../../Dir1/Dir2/bin/mylib.dll
INSTALLS += dlls_to_move

您可以在QMake 文档中找到有关 INSTALLS 的更多信息。

于 2011-06-09T12:44:45.537 回答