【博客185】gcc的-L -I -l 的区别

内容: 在makefile中添加新依赖时,经常会遇到-L,-I,-l(小写的L)这三个选项,记录他们的 区别

一、-I的作用(大写的i):

指定第一个寻找头文件的目录
比如:
-I /home/my_source/include
表示将/home/my_source/include目录作为第一个寻找头文件的目录;
寻找的顺序是:/home/my_source/include–>/usr/include–>/usr/local/include

二、-l的作用(小写的L):

指定程序要链接的库,-l参数是库名
比如:
-lmylib表示连接mylib这个库
lib路径中寻找libmylib.so动态库文件
(如果gcc编译选项中加入了“-static”表示寻找libmylib.a静态库文件)

三、-L的作用:

指定要搜索的库文件的目录
比如:
-L /home/my_source/lib表示将/home/my_source/lib目录作为第一个寻找库文件的目录
寻找的顺序是:/home/my_source/lib-->/lib-->/usr/lib-->/usr/local/lib

大四学生一枚,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。有喜欢C/C++,linux的同学欢迎私信一起讨论学习。

发布了214 篇原创文章 · 获赞 41 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_43684922/article/details/105104351