您尚未登录。

楼主 # 2024-01-05 17:47:00

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序?

在编写arm版上运行的qt程序,当然也想在pc上运行下看看。

但是arm版需要个单独的ssl库,而pc版不需要加入这个库。这该怎么搞呢?

搜了下,可以通CONFIG或DEFINES。比如
DEFINES += XXX
contains(DEFINES, XXX) {
    include xxx
    LIBS += xxx
}

但是这样,我还是需要来回注释或取消注释掉 DEFINES += XXX这一行。
能不能qmake或make时,指定个条件来满足?不想来回修改pro文件。

pc环境是ubuntu,所以不能用win、unix来分辨。

最近编辑记录 Gentlepig (2024-01-06 09:10:07)

离线

楼主 #3 2024-01-06 08:47:06

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: 同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序?

感谢两位,我没用qt creator,而是直接qmake  xxx.pro,然后再make的。

所以这个额外的参数,DEFINES+=arm或QT_ARCH+=arm,如何在qmake或make时指定?

离线

楼主 #5 2024-01-06 10:25:28

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: 同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序?

晕哥 说:

不同平台用不同的 .pro 文件,把共性写到 .pri 文件

是个办法,谢谢。

最近编辑记录 Gentlepig (2024-01-06 10:27:34)

离线

楼主 #6 2024-01-06 13:35:04

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: 同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序?

现在工程目录是这样的:
can2socket.pro   和 src 目录 同级,src目录下有有个src.pro。

现在在can2socket.pro里,DEFINES+=t113,结果传递不到src.pro文件里...

我是想定义两个顶层pro文件,编译时用顶层pro文件分别编译出pc版和arm版。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn