linux 下 g++编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用

本文介绍了在 Linux 下使用 GCC/G++ 编译器时,如何通过 -I、-L 和 -l 选项来指定头文件路径及库文件的位置。通过具体的示例讲解了这些选项的工作原理和使用方法。

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

linux 下 g++编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用

作为一个linux入门级使用者,gcc/g++ 的简单操作已经用过多次, 但是有时稍微复杂一点的程序就会使用到库。在遇到问题的时候我查了挺多前辈总结的资料,也留个脚本希望对朋友们有个帮助。如果也能处理你的问题,我会感到很开心,嘻嘻。

例如:libz.so

g++ -o compress  compress.cpp  -I/home/include/  -L/lib/  -lz

(1) -I (大写i)

编译程序按照-I指定的路进去搜索头文件。
-I/home/include/表示将-I/home/include/目录作为第一个寻找头文件的目录,寻找的顺序是:
 /home/include/ -->/usr/include-->/usr/local/include

(2)-L(大写l)

表示:编译程序按照-L指定的路进去寻找库文件,一般的在-L的后面可以一次用-l指定多个库文件。
-L/lib/表示到/lib/目录下找库文件

(3)-l(小写l)

表示:编译程序到系统默认路进搜索,如果找不到,到当前目录,如果当前目录找不到,则到LD_LIBRARY_PATH等环境变量置顶的路进去查找,如果还找不到,那么编译程序提示找不到库。
本例子使用的是gunzip库,库文件名是libz.so,库名是z。很容易看出,把库文件名的头lib和尾.so去掉就是库名了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值