-Wall 打开gcc的所有警告

-L 添加链接库的搜索路径

-l 就是用来指定程序要链接的库

-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。

好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件)

放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们只用-l参数的话,链接还是会出错,出错信息大概是:“/usr/bin/ld: cannot find -lxxx”,也就是链接程序ld在那3个目录里找不到libxxx.so,这时另外一个参数-L就派上用场了,比如常用的X11的库,它在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,-L参数跟着的是库文件所在的目录名。再比如我们把libtest.so放在/aaa/bbb/ccc目录下,那链接参数就是-L/aaa/bbb/ccc -ltest

gcc编译器参数:http://blog.sina.com.cn/s/blog_436fe8b10100r4rm.html

gcc 编译时中-L -l -Wall的含义相关推荐

  1. gcc编译命令的常用选项——强烈推荐大家使用 -Wall 选项

    C程序编编译的过程分为如下四个阶段 1.预处理:头文件展开(#include).宏替换(#define).条件编译(#ifdef)(.i)使用预处理器(预处理阶段处理的都是以#开头的代码) 2.编译: ...

  2. gcc参数 -i, -L, -l, -include

    gcc参数 -i, -L, -l, -include -i,-L,-l,-include -l和-L -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢? ...

  3. gcc -I -i -L -l 参数区别 / -l(静态库/动态库)

    介绍 gcc   - 参数 -I ( i 的大写)  :指定头文件路径(相对路径或觉得路径,建议相对路径) -i               :指定头文件名字 (一般不使用,而是直接放在**.c 文件 ...

  4. gcc -I -L -l区别

    我们用gcc编译程序时,可能会用到"-I"(大写i),"-L"(大写l),"-l"(小写l)等参数,下面做个记录: 例子1: gcc -o ...

  5. AD10 元器件库和封装库的说明【标准封装的尺寸】【三极管的封装 】 【封装名后L M N的含义】【PCB封装中的紫线的意思】

    标准封装的尺寸 封装,尺寸,功率额定电流(最大过负荷电流) 1206 L:1.2inch(3.2mm)W:0.6inch(1.6mm)  W:1/4W  2A (5A) 0805 L:0.8inch( ...

  6. gcc编译以及Makefile与GDB调试

    一:编译选项:       gcc常用编译的选项: -c 表示编译源文件,只编译并生成目标文件. -E 只运行 C 预编译器. -o 表示输出目标文件 -g 表示在目标文件中产生调试信息, 用于 gd ...

  7. 浅析Linux下gcc编译过程

    目录 1. gcc简介及基本用法 2. gcc编译过程 3. 静态链接和动态链接 4. 静态库和动态库 4.1 静态库的制作和使用 4.2 动态库的制作和使用 1. gcc简介及基本用法   GCC( ...

  8. Gcc编译链接及常用选项总结

    转载文章:http://www.franktly.com 前言 GNU CC(简称Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object- C等语言编写的程序.Gcc ...

  9. Linux命令【三】gcc编译+静态库+动态库+makefile+gdb调试

    用C编译器编译源文件:gcc 源文件 -o 可执行文件名 详细步骤: gcc -E a.c -o a.i预处理器将头文件展开,宏替换,去掉注释 gcc -S a.i -o a.s编译器将C文件变成汇编 ...

最新文章

  1. ESI世界大学排名:371所内地高校上榜!
  2. 关于读取数据库进行数据处理的一些小问题
  3. noip2011提高组day1+day2解题报告
  4. linux 基本脚本编写
  5. 在Tomcat中部署seam工程
  6. (Z)标准电阻值的来历及色环电阻值定义
  7. Android 屏幕适配攻略(三)单位dp与sp
  8. hibernate mysql 注解_【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)
  9. 【小技巧积累】用Style实现必填提示“*”根据选项的不同而显示或隐藏
  10. Android进程框架:线程通信的桥梁Handler
  11. 十大排序算法----堆排序(最后一个非叶子节点的序号是n/2-1的推理)
  12. linux中检测到时钟错误,make: 警告:检测到时钟错误。您的创建可能是不完整的
  13. 计算机预览正常打印乱码,打印机打印文件显示乱码该怎么办?
  14. 建设工程项目全寿命周期管理是指_建设工程全寿命周期的概述
  15. Unity自定义文件夹图标颜色 个性化Unity编译器 unity 彩色文件夹
  16. 信号完整性与电源完整性的详细分析
  17. Java 版植物大战僵尸思路和源码分享!
  18. 认识物联网系列——物联网架构
  19. c语言笔试程序改错题,C语言笔试--程序改错题.doc
  20. 关于ECharts怎么隐藏掉坐标轴

热门文章

  1. 敏捷与结构性模块化(二)
  2. anaconda图形界面打开方式
  3. c语言iota怎么用,IOTA(埃欧塔)钱包使用教程
  4. 反序列化漏洞利用总结
  5. Debian10 更换软件源 配置中文环境 安装中文输入法
  6. 2021-01-11小米随身wifi网络创建总是失败是什么问题?
  7. u盘启动 联想一体机_联想一体机怎么设置U盘启动?
  8. [LeetCode] 300 最长递增子序列 及返回这一子序列
  9. Python数据可视化 Pyecharts 制作 Sunburst 旭日图
  10. 叶胜超:币乎(KEY)---区块链内容平台中文第一社区!