作为一个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去掉就是库名了。
总结
到此这篇关于linux 下 g++编译程序时-I(大写i) 与-L(大写l)-l(小写l) 的作用详解的文章就介绍到这了,更多相关linux g++编译程序内容请搜索优爱好网以前的文章或继续浏览下面的相关文章希望大家以后多多支持优爱好网!
相关文章:
1. Win11右下角弹出英特尔无线bluetooth的解决教程2. Win11预览版25309怎么启动全新音量控件? win11打开音量控件的快捷键3. Win11 22H2 Moment 2更新后将彻底修复文件复制缓慢的问题4. 地毯式轰炸!不符合要求的电脑也收到全屏的 Win11 升级提醒 5. 升级Win11 22H2后卡顿怎么办?升级Win11 22H2后卡顿三种解决方法6. Win10 Build 1904x.2673 预览版更新 KB5022906内容汇总7. Win11 release preview通道是什么?release preview频道更新Win11好吗?8. Win11怎么把C盘分成几个盘?Win11电脑磁盘分区的方法9. KB5022845导致Win1122H2更新驱动失败 Surface出现0x80070103错误10. 微软暂停推送Win11 KB5007651更新: 承认存在本地安全机构保护错误问题