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去掉就是库名了。

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

  1. linux编译l和l区别,linux 下 g++编译程序时-I(大写i) 与-L(大写l)-l(小写l) 的作用详解...

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

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

    -I(大写i) include头文件非标准库中存在的不是在当前路径文件夹下的,需要将地址用-I(大写)指定 如: gcc test.c -I /home/hello/include -L(大写l) 放 ...

  3. C/C++编译总结 (Linux下g++、makefile、automake)

    C/C++编译总结 (Linux下g++.makefile.automake) !! 阅读前提示: 1)本文是自己的学习过程和经验的总结,和大多数人一样,不懂就搜度娘.csdn.博客园等等,内容难免有 ...

  4. 虚拟机Linux下解决ping时出现 unknown host问题

    虚拟机Linux下解决ping时出现 unknown host问题 参考文章: (1)虚拟机Linux下解决ping时出现 unknown host问题 (2)https://www.cnblogs. ...

  5. linux下g++和gcc_Linux中gcc和g ++有什么区别?

    linux下g++和gcc gcc和g ++之间的区别 (Difference between gcc and g++) Both are the compilers in Linux to comp ...

  6. 解决在Linux下安装Oracle时的中文乱码问题

    解决在Linux下安装Oracle时的中文乱码问题 参考文章: (1)解决在Linux下安装Oracle时的中文乱码问题 (2)https://www.cnblogs.com/qiumingcheng ...

  7. Linux 下 进程运行时内部函数耗时的统计 工具:pstack,strace,perf trace,systemtap

    简单记录一些 在linux下 统计进程内部函数运行耗时的统计工具,主要是用作性能瓶颈分析.当然以下工具除了pstack功能单一之外,其他的工具都非常强大,这里仅仅整理特定场景的特定用法,用作协同分析. ...

  8. [转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)

    在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库 ...

  9. linux下g编译文件或目录,【转】在linux下使用gcc/g++编译多个.h文件

    博主写得很好 多个文件编译在linux下编译,下面有三个文件,分别是1.cpp 和 2.cpp 和myhead.h 文件. 1.cpp 2.cpp myhead.h 假如他们都在一个目录下面,那么编译 ...

  10. 解决linux下创建用户时出现Creating mailbox file: File exists

    在linux下用useradd添加用户时,出现错误: Creating mailbox file: File exists? 为什么会出现这样的问题? 原来linux下添加用户后,会在系统里自动加一个 ...

最新文章

  1. 报名 | 智进未来:AI在医疗健康领域的应用、挑战及发展趋势
  2. C++打印一个螺旋形的矩阵 a matrix traversing it spirally算法(附完整源码)
  3. YbtOJ#832-鸽子饲养【凸包,Floyd】
  4. Bootstrap datepicker 在弹出窗体modal中不工作
  5. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境
  6. 今时今日,C还适合当下之所需么?
  7. 中国慕课java_回收的吸油毡通常应放置一边以备再次使用。
  8. java的dicon文件_配置文件参考
  9. 什么是基金前端收费和后端收费
  10. 那些年被我坑过的Python——不得不知(第二章)
  11. Lingo软件的基本语法
  12. ResNet网络结构搭建
  13. C语言游戏设计——扫雷
  14. 计算机也无法解的函数,XP提示“无法访问函数不正确”怎么办|XP提示“函数不正确”的四种解决方案...
  15. Linux内核同步机制之(八):mutex
  16. Windows_XP SP3 Profession 正版密钥
  17. 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第12章 文件 课后习题答案
  18. 拉普拉斯金字塔图像融合原理
  19. markdown无法显示图片的问题
  20. 思科交换机冗余星形设计,附带sw1核心交换机配置

热门文章

  1. linux用cat建文件,如何使用Linux cat命令
  2. 十二进制加计数器-20151112
  3. 怎么在中国知网免费下载论文?
  4. exce中让两列数据一一对应_EXCEL让两个表格中的两列数据一一对应:
  5. html如何添加竖虚线,在word中添加竖虚线的方法
  6. 树莓派4B-连接Air720U模块抓取数据日志
  7. python 批量修改图片尺寸
  8. 自然语言处理(NLP)和语音识别(ASR)的区别
  9. 【Windows】Win10强制删除文件夹
  10. TF卡座的工作原理,TF卡座的内部结构,详图,自弹式TF卡座的内部结构原来是这么回事