• 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、

  • 相关阅读:
    多媒体(2):WAVE文件格式分析
    多媒体(1):MCI接口编程
    EM算法(4):EM算法证明
    EM算法(3):EM算法运用
    EM算法(2):GMM训练算法
    EM算法(1):K-means 算法
    Support Vector Machine (3) : 再谈泛化误差(Generalization Error)
    Support Vector Machine (2) : Sequential Minimal Optimization
    Neural Network学习(二)Universal approximator :前向神经网络
    Neural Network学习(一) 最早的感知机:Perceptron of Rosenblatt
  • 原文地址:https://www.cnblogs.com/cppskill/p/12987861.html
Copyright © 2020-2023  润新知