QMAKE,pro文件,pri文件,C70文件,X64.pri文件与生成Mikefile的一系列关系及注意事项

公司在跨平台编译的时候,采用的方式是VS转QT工程,会生成pro文件和pri文件,如果同时生成的话,一般当前工程的pro文件中包含了工程的pri文件。但是此pro和pri文件都是照着Windows的环境变量和VS工程的配置来的,pro或者pri包含的头文件路径(附加包含目录),库路径都还是VS中设置的,例如库路径是win64/debug/等。公司为了添加库的便利,写了C70.pri,x64pri(这两个路径均在\zhrepo\zhcode\qt\script\)。mount-zhrepo.sh这个要在zhrepo目录下执行,因为pwd目录然后输出了ZHREPO_DIR,注意因为有 export ZHREPO,所以这个sh脚本只能在当前shell执行,采用source mount-zhrepo.sh执行。然后在此终端cd到pro和pri都在的文件夹进行qmake生成Makefile。注意里面可能需要修改g++版本。

各个文件的功能:

工程.pro:include几个pri文件,c70.pri,工程.pri等。

工程.pri:库的头文件路径,库的路径及名称,自己添加的头文件,源文件等。特别要注意的是库的头文件和库的路径及名称,一般使用mount-zhrepo.sh中export的ZHREPO_DIR来代替前面的路径。库路径由x64.pri生成了全路径。

c70.pri:include了x64.pri,加了-g可调试,还做了-O1,O2,O3的优化。

x64.pri:生成了直指到Linux对应版本库的路径ZHCODE_LIB_DIR。根据ZHREPO_DIR和unmae -r和uname -m生成的版本号拼接成了全路径。

mount-zhrepo.sh:在zhrepo文件夹所在的路径执行此脚本,因为是将此路径pwd之后赋给了ZHREPO_DIR并export。还加了mount -t vboxsf ZHREPO ,这里将虚拟机配置里设置的共享文件夹先挂载,我已经挂载了就没有管。

各个文件中要改哪些地方:

工程.pro:

加一行include($(ZHREPO_DIR)/zhcode/qt/script/C70.pri),C70pri中包含了X64.pri,这两个里面内容不用改,保证uname -r  uname -m生成的路径名正确即可。

INCLUDEPATH += 和LIBS +=可以移到pri文件中。同时注意INCLUDEPATH +=这个路径下的:

包含库的头文件时,原本的ZHCODE_DIR注意要改成ZHREPO_DIR,因为Linux中mount-zhrepo.sh中,export的是ZHREPO_DIR,但是Windows下配的环境变量的名字是ZHCODE_DIR,VS配置附加包含目录时也是按照这个环境变量去配的。

LIBS +=注意:

改成上图格式,第一行符号不要错,第二行-ldl -W1 --start-group和最后一行的end--group要加,可以避免库的链接顺序造成的错误。

工程.pri:

从工程.pro中移进来的东西,改这两个INCLUDEPATH += 和LIBS +=中的东西

Makefile:

改一下生成目标文件的路径,g++指定 -std=c++11

所以总体执行流程是

1、VS中create pro文件和pri文件。按照上述要求修改pro和pri文件

2、在zhrepo的同级文件夹采用source mount-zhrepo.sh执行

3、在此终端cd到pro和pri所在的文件夹进行qmake,生成Makefile。注意里面可能需要修改Makefile指定g++版本和生成文件的路径。

4、make。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值