qt - 如何将 qwindows.dll 复制到平台目标子文件夹中?
问题描述
我正在尝试qwindows.dll
从 qt 库文件夹复制到目标之一。目前我正在使用以下代码:
add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> $<TARGET_FILE_DIR:${PROJECT_NAME}>)
它可以工作,但它会将文件复制到目标目录中。我需要将文件复制到platforms
子文件夹中,但我不知道该怎么做。我试过了
add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> $<TARGET_FILE_DIR:${PROJECT_NAME}>/platforms/qwindows.dll)
但问题是 .dll 在调试模式下有另一个名称(qwindowsd.dll
),所以我需要插入两次命令。
有没有办法使用Qt5::QWindowsIntegrationPlugin
来检索文件名并将其用作第二个命令中的目标文件?
解决方案
add_custom_command(
TARGET demo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:demo>/platforms/
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt5::QWindowsIntegrationPlugin>
$<TARGET_FILE_DIR:demo>/platforms/
)
推荐阅读
- python - 如何制作动态组合框PYQT5
- github - 将 TFVC 2015 存储库迁移到 Github
- visual-studio - 从客户项目与 TFS 通信
- javascript - 动态访问数组对象
- python - 使用带有 matplotlib 的 brewer2mpl 发散颜色图,gamma 给出的结果很差,其值不同于 1
- python - 训练损失减少,但当我使用 tensorflow.data api 时模型无法学习
- python - 将元组添加到列表
- c - 用于 ECB AES 的 Linux 内核加密 API
- sql-server - 添加插入存储过程等时出现MSSQL错误
- sass - 为什么我不能向变量添加零填充