Qt设置根据编译器不同链接不同的lib库

我们知道Qt的pro工程文件中可以编写编译条件,根据不同的条件生成不同的编译指令,常用的是根据系统的不同包含不同的源文件,如

win32 {
    HEADERS += windows.h
}
linux {
    HEADERS += linux.h
}

除了源文件,链接的lib文件也需要在pro中指定,而在windows平台中,可选的编译器有msvc和mingw两种,且这两种编译器的库文件不能通用,那么我们怎么在pro文件中根据编译器的不同包含不同的lib库文件呢,pro文件中我们可以通过CONFIG+=的形式定义自己的条件,如增加

CONFIG += mingw-cc

我们就可以像用这个来做判断

mingw-cc {
    LIBS += -Lmingw -ltest
} else {
    LIBS += -Lvs -ltest
}

这样就可以连接不同的lib库文件了,但是需要手动更改CONFIG设置,那么Qt有没有内置的表示当前编译器类型的CONFIG变量呢,网上没找到完整的qmake或pro文件的说明文档,我们怎么才能知道CONFIG的预定义值都有啥呢?

我们知道pro中可以通过$${var}的形式引用预定义变量,而pro文件最终会通过qmake编译成makefile文件,这个makefile的内容是会落盘的,是我们能看见的,那么我们增加如下定义

DEFINES += Q_CONFIG=$${CONFIG}

编译一下,看生成的m

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值