gpt4 book ai didi

c++ - Qt Creator 中依赖文件的自动复制

转载 作者:IT老高 更新时间:2023-10-28 21:43:26 28 4
gpt4 key购买 nike

我使用 Qt Creator 2.2.1 和 Qt 4.7.4(32 位)构建了一个程序,其输出是可执行文件。使用 DependencyWalker 打开 exe 显示该 exe 使用以下 DLL:

  • KERNEL32.DLL
  • MSVCRT.DLL
  • MINGWM10.DLL
  • LIBGCC_S_DW2-1.DLL
  • QTCORE4.DLL
  • QTGUI4.DLL

我希望在构建后所有依赖文件(在某些其他项目中可能不同)除了 Windows 特定文件(上面列表中的前两个)被自动复制到目录中exe所在的位置。

如何不使用命令行脚本在 Qt Creator 或 Qt 系统中执行此操作?谢谢。

最佳答案

在 QT 5.3 中,您或许可以使用 windeployqt qt 工具自动复制所需的库。

在项目的 .pro 文件中添加以下内容应该可以解决问题,但您可能需要根据自己的具体情况进行一些调整。

isEmpty(TARGET_EXT) {
win32 {
TARGET_CUSTOM_EXT = .exe
}
macx {
TARGET_CUSTOM_EXT = .app
}
} else {
TARGET_CUSTOM_EXT = $${TARGET_EXT}
}

win32 {
DEPLOY_COMMAND = windeployqt
}
macx {
DEPLOY_COMMAND = macdeployqt
}

CONFIG( debug, debug|release ) {
# debug
DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/debug/$${TARGET}$${TARGET_CUSTOM_EXT}))
} else {
# release
DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/release/$${TARGET}$${TARGET_CUSTOM_EXT}))
}

# # Uncomment the following line to help debug the deploy command when running qmake
# warning($${DEPLOY_COMMAND} $${DEPLOY_TARGET})

# Use += instead of = if you use multiple QMAKE_POST_LINKs
QMAKE_POST_LINK = $${DEPLOY_COMMAND} $${DEPLOY_TARGET}

关于c++ - Qt Creator 中依赖文件的自动复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com