zoukankan      html  css  js  c++  java
  • Qt.pro.编译完成后_做某些操作

    1、我是在 项目中 用了ini配置文件,然后 想在编译结束后 自动将 代码目录的 ini文件 复制到 编译生成目录中去,pro文件中 如下写:

    # ZC: 编译完成后,将"./cfg.ini"文件 也复制过去
    # ZC: Windows下,copy命令中,目录使用"/"的话 不行 (据说Win10开始可以了)
    #QMAKE_POST_LINK += copy $$PWD/cfg.ini $$OUT_PWD/cfg.ini
    # ZC: 暂时使用下面这种方式吧:
    QMAKE_POST_LINK += copy %cd%..	xtOper_qt5142_vs17cfg.ini debugcfg.ini

      ZC:CMD中 %cd% 是得到当前所在目录,可以使用  echo %cd%  看下效果

    2、参考:

     2.1、Qt编译后添加依赖文件到输出目录_Qt_my393661的博客-CSDN博客.html(https://blog.csdn.net/my393661/article/details/80582649

    QMAKE_POST_LINK = cp -rf $$PWD/lab_const_1.xml $$OUT_PWD/lab_const_1.xml && 
                         cp -rf $$PWD/experiment1.xml $$OUT_PWD/experiment1.xml

      ZC:linux中的写法

     2.2、qt如何增加 在编译 生成后事件,想在编译程序后copy文件到其他文件夹-CSDN论坛.html(https://bbs.csdn.net/topics/390956406

      QMAKE_POST_LINK += ../install.bat

      ZC:直接执行bat

     2.3、关于 QMAKE_POST_LINK和QMAKE_PRE_LINK使用的说明_操作系统_浮光掠影-CSDN博客.html(https://blog.csdn.net/wkr2005/article/details/93711321

      网页内容复制:

    qt的pro配置文件中也可添加各种编译前后的操作及配置,主要通过 QMAKE_POST_LINK和QMAKE_PRE_LINK;

    QMAKE_POST_LINK表示编译后执行内容

    QMAKE_PRE_LINK表示编译前执行内容

    他们支持的函数以及写法,可以在QtCreator的帮助中搜索qmake Function 查看详情说明(QT的帮助文档是我见过最详细的使用文档); ------ ZC:真的这么详细的么?

    比如copy文件如下:

    win32:CONFIG(release, debug|release){
    SrcIncludeFile = $$PWD/*.h
    SrcIncludeFile = $$replace(SrcIncludeFile, /, \);
    OutputIncludeDir = $$PWD/../../../BSCommon/include/
    OutputIncludeDir = $$replace(OutputIncludeDir, /, \);
    OutputFile = $$PWD/$${DESTDIR}/$${TARGET}.dll
    OutputFile = $$replace(OutputFile, /, \);
    OutputDir = $$PWD/../../../BSCommon/bin/release/
    OutputDir = $$replace(OutputDir, /, \);
    QMAKE_POST_LINK += copy /Y $$SrcIncludeFile $$OutputIncludeDir && copy /Y $$OutputFile $$OutputDir
    }else:win32:CONFIG(debug, debug|release){
    SrcIncludeFile = $$PWD/*.h
    SrcIncludeFile = $$replace(SrcIncludeFile, /, \);
    OutputIncludeDir = $$PWD/../../../BSCommon/include/
    OutputIncludeDir = $$replace(OutputIncludeDir, /, \);
    OutputFile = $$PWD/$${DESTDIR}/$${TARGET}.dll
    OutputFile = $$replace(OutputFile, /, \);
    OutputDir = $$PWD/../../../BSCommon/bin/debug/
    OutputDir = $$replace(OutputDir, /, \);
    QMAKE_POST_LINK += copy /Y $$SrcIncludeFile $$OutputIncludeDir && copy /Y $$OutputFile $$OutputDir
    }
    注意, 注意,注意:

    在windows系统下面,由于命令行中大部分命令不支持“/”,所以把“/”替换成“”。

    多条命令语句之间可以用&&隔开,自动连续执行;

    定义的宏变量,在非首位置使用时,需要带{}, 如
    PWD/
    PWD/
    {DESTDIR}/$${TARGET}.dll中的DESTDIR和TARGET

    3、

    4、

    5、

  • 相关阅读:
    云计算被视为继大型计算机、个人计算机、互联网之后的第4次IT产业革命,顺应了当前各行业整合计算资源和服务能力的要求(转)
    hdu1172猜数字
    or1200构建sopc系统之软件环境搭建
    Log4cpp介绍及使用
    JAVA实现HTTPserver端
    站点防止攻击
    opencv是什么
    RBAC权限管理
    一分钟制作U盘版BT3
    为开发用途mac电脑瘦身
  • 原文地址:https://www.cnblogs.com/cppskill/p/12987861.html
Copyright © 2011-2022 走看看