Qt qmake LIBS的使用指南

qmake是Qt的构建工具,用于处理pro项目文件生成编译规则。LIBS变量用于指定动态库链接,通过-L指定路径,-l指定库名。一种常见写法是按路径和库名分组,但可能导致路径优先级误导。例如,当两个路径下有同名但内容不同的动态库时,编译将按声明顺序选择第一个找到的库。因此,应确保正确指定路径优先级,避免冲突。推荐使用换行分隔LIBS的路径和库名,以提高可读性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qmake是Qt的构建工具,主要作用是解析pro格式的项目文件、生成编译规则(Makefiles或其它)
LIBS:

LIBS += -L(path) -l(name1) -l(name2) //(path):路径(name):动态库名称。根据实际情况指定动态库数量

LIBS += -L(path)
LIBS += -l(name1) -l(name2)

LIBS += -L(path1) -L(path2)
LIBS += -L(name1) -l(name2)

LIBS += -L(paht1) -L(path2) -l(name1) -l(name2)
实际使用中推荐使用 \ 换行
LIBS += -L(path1)
-L(path2)
-l(name1)
-l(name2)
——————————————————————————————————————————————————————————
总结:
第一种写法一般情况下是不会有问题的,但是会让人误以为路径和动态库是绑定的(即在指定目录下寻找指定依赖库)。
exp:
LIBS += -L(path1) -l(name1)
LIBS += -L(path2) -l(name2)
假设项目中有 path1,path2这两个放置lib的路径,
path1 路径下有一个和 path2 路径下同名的 name2 动态库,其【内容不同】
点击编译,此时会发生错误,因为path1目录内已有name2。
寻找动态库是根据声明的优先级(LIBS += -L 指定的顺序)寻找的。
&
修改指定的顺序可以解决这个问题。
写PRO的时候可以优先指定好需要使用的LIB路径(-L),然后再指定动态库名称(-l)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值