RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 585811
Accepted
maestro
maestro
Asked:2020-11-02 16:56:14 +0000 UTC2020-11-02 16:56:14 +0000 UTC 2020-11-02 16:56:14 +0000 UTC

qmake安装规则

  • 772

这是 .pro 文件的一部分,其中列出了要安装的文件。

install_it.path = $$OUT_PWD/../Deploy
install_it.files = sgip/sgip.json sgip/psi.tpl sgip/sgip_template.json \
    sgip_sokol_dll/usb_sgip_dll/release/usb_sgip_dll.dll \
    sgip/release/sgip.exe \
    $$PWD/sgip/3rdparty/postgres/bin/*

#

install_qtbin.path = $$OUT_PWD/../Deploy
install_qtbin.files = $$[QT_INSTALL_BINS]/icu* \
    $$[QT_INSTALL_BINS]/libgcc_s_dw2-1.dll \
    $$[QT_INSTALL_BINS]/libstdc++-6.dll \
    $$[QT_INSTALL_BINS]/libwinpthread-1.dll \
    $$[QT_INSTALL_BINS]/Qt5Concurrent.dll \
    $$[QT_INSTALL_BINS]/Qt5Core.dll \
    $$[QT_INSTALL_BINS]/Qt5Gui.dll \
    $$[QT_INSTALL_BINS]/Qt5PrintSupport.dll \
    $$[QT_INSTALL_BINS]/Qt5Widgets.dll \
    $$[QT_INSTALL_BINS]/Qt5Sql.dll

install_img.path = $$OUT_PWD/../Deploy/img
install_img.files = ../img/*

#

install_sqldrivers.path = $$OUT_PWD/../Deploy/sqldrivers
install_sqldrivers.files = $$[QT_INSTALL_PLUGINS]/sqldrivers/qsqlpsql.dll

INSTALLS += \
    install_it \
    install_img \
    install_qtbin \
    install_sqldrivers

有两个问题。首先,没有复制 libstdc++-6.dll 文件。文件存在但无法复制:复制实用程序返回“找不到文件”错误。如果我在命令行上运行相同的命令,我会得到同样的错误。如果您在命令行的文件名中指定 libstdc*,则文件会正常复制,但此技巧在 .pro 文件中不起作用,因为完整的文件名最终会出现在 Makefile 中。这怎么能解决?

第二。如果在 qmake 执行时某个文件不存在,那么这个文件将不会进入 Makefile。但是有些文件,例如sgip.exe 或usb_sgip_dll.dll,是在make 期间创建的,因此在运行qmake 时它们是否存在并不重要。无论如何,我如何让 qmake 将这些文件放入 makefile 中?

更新程序

发现 xcopy 实用程序正确地复制了这个文件。手动替换Makefile中的COPY、INSTALL_FILE等参数后,项目安装无误。但我希望 qmake 本身能够替代 Makefile 中的 xcopy 实用程序。

qt
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    maestro
    2020-11-03T14:17:06Z2020-11-03T14:17:06Z

    找到了解决其中一个问题的方法。qmake中有未记录的变量,正好可以代替文件复制命令。通过将以下行添加到 .pro 文件,我得到了所需的行为。

    QMAKE_COPY = xcopy /y
    QMAKE_INSTALL = xcopy /y
    

    强制将文件添加到安装规则的问题仍然悬而未决。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5