网站详细设计,如何用织梦猫做网站和后台,网站建设需要多少钱小江,经典企业网站1、在项目构建前执行命令
在项目构建前执行命令cmd存在问题system(cmd)存在执行多次的问题#xff0c;可以参考message函数的QMake Manual说明
优化后的表达式如下#xff0c;这样此命令只会在构建前执行一次#xff1a; !build_pass:system(cmd) 2、在链接前后执行#x…1、在项目构建前执行命令
在项目构建前执行命令cmd存在问题system(cmd)存在执行多次的问题可以参考message函数的QMake Manual说明
优化后的表达式如下这样此命令只会在构建前执行一次 !build_pass:system(cmd) 2、在链接前后执行使用QMAKE_PRE_LINK/QMAKE_POST_LINK
QMake Manual中有QMAKE_PRE_LINK/QMAKE_POST_LINK的说明。
在链接执行前执行命令cmd在链接执行后执行命令cmd存在问题QMAKE_PRE_LINK cmdQMAKE_POST_LINK cmd只有在源码修改导致重新链接成目标文件时才会执行
3、在构建前后插入命令
首先需要弄清楚qmake和make的协作过程
qmake.exe会解析.pro文件生成makefile文件生成makefile。之后会调用make工具进行编译链接等构建操作。
这里使用的QMake变量是QMAKE_EXTRA_TARGETS和PRE_TARGETDEPENS变量。具体用法请参考QMake Manual。 理解下面的处理过程需要了解一些makefile知识。
示例
在.pro文件中加入下面语句
# cmds
# 构造自定义生成目标对象
mybuild.targetpre_build_cmds
win32{
mybuild.commands$$PWD/UpdatePluginLib.cmd
}else{
}
# 加入到自定义目标对象列表中
QMAKE_EXTRA_TARGETS mybuild# 加入到构建依赖列表最前面会最先被执行这里必须写目标对象名称不能是mybuild
PRE_TARGETDEPS pre_build_cmds查看makefile.Debug文件
可以看到目标被加入到构建依赖的最前面了。pre_build_cmd目标的定义可在makefile文件中找到。 同理如果需要在构建完成后执行一些命令则可以使用QMake对应的变量POST_TARGETDEPS将自定义生成目标加入到变量中
POST_TARGETDEPS after_build_cmds使用场景
一般子目录项目需要先构建插件或动态库依赖然后再将输出文件更新到最终的应用程序项目中参与最终的构建一般做法是写批处理脚本然后手动双击更新。有了上述方法后一切都可以一键构建。
总结
一般使用第三种方法前提是需要清楚地了解Qt的构建过程以及makefile的相关知识。