GCC编译器中的-I -L -l 选项。
来源:互联网 发布:2017年1月进出口数据 编辑:程序博客网 时间:2024/05/17 03:46
原文链接:http://blog.csdn.net/stpeace/article/details/49408665
在本文中, 我们来聊聊gcc中三个常见的参数, 也即-I(大写的i), -L(大写的l)和-l(小写的l)
一. 先说 -I (注意是大写的i)
我们先来看简单的程序:
main.c:
#include <stdio.h> #include "add.h" int main() { int a = 1; int b = 2; int c = add(a, b); printf("sum is %d\n", c); return 0; }
int add(int x, int y) { return x + y; }
add.h:
int add(int x, int y);
编译链接运行如下:
[taoge@localhost test]$ pwd /home/taoge/test [taoge@localhost test]$ ls add.c add.h main.c [taoge@localhost test]$ gcc main.c add.c [taoge@localhost test]$ ./a.out sum is 3 [taoge@localhost test]$
我们看到, 一切正常。 gcc会在程序当前目录、/usr/include和/usr/local/include目录下查找add.h文件, 刚好有, 所以ok.
我们进行如下操作后再编译, 却发现有误, 不怕, 我们用-I就行了:
[taoge@localhost test]$ ls add.c add.h a.out main.c [taoge@localhost test]$ rm a.out; mkdir inc; mv add.h inc [taoge@localhost test]$ ls add.c inc main.c [taoge@localhost test]$ gcc main.c add.c main.c:2:17: error: add.h: No such file or directory [taoge@localhost test]$ [taoge@localhost test]$ [taoge@localhost test]$ [taoge@localhost test]$ gcc -I ./inc/ main.c add.c [taoge@localhost test]$ ls add.c a.out inc main.c [taoge@localhost test]$ ./a.out sum is 3 [taoge@localhost test]$
上面把add.h移动到inc目录下后, gcc就找不到add.h了, 所以报错。 此时,要利用-I来显式指定头文件的所在地, -I就是用来干这个的:告诉gcc去哪里找头文件。
二. 再来说-L(注意是大写的L)
我们上面已经说了, -I是用来告诉gcc去哪里找头文件的, 那么-L实际上也很类似, 它是用来告诉gcc去哪里找库文件。 通常来讲, gcc默认会在程序当前目录、/lib、/usr/lib和/usr/local/lib下找对应的库。 -L的意思很明确了, 就不在赘述了。
三. 最后说说-l (注意是小写的L)
我们之前讨论过Linux中的静态库和动态库, -l的作用就是用来指定具体的静态库、动态库是哪个。
0 0
- GCC编译器中的-I -L -l 选项。
- GCC编译器中的-I -L -l 选项。
- GCC编译器中的-I -L -l 选项
- gcc中的-I, -L -l
- gcc 选项 -c -I -o -L -l
- GCC选项 –I,-l,-L
- GCC选项 –I,-l,-L
- GCC中的编译选项“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数
- GCC中的编译选项“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数
- gcc中的选项-L和-l
- gcc参数中的-I, -L和-l
- gcc参数中的-I, -L和-l
- gcc -L -I -l
- GCC编译器一些参数区别(-I -l -L)
- GCC编译器一些参数区别(-I -l -L)
- GCC编译器一些参数区别(-I -l -L)
- gcc 中-I、 -L 与-l选项的作用
- 编译选项-l,-L,-I
- SRSPlayer参数说明
- inline 内联函数
- 华为OSN3500与路由器混合组网
- 利用Python抓取和解析网页
- 最大熵学习笔记(一)预备知识
- GCC编译器中的-I -L -l 选项。
- Android 隐式调用详解(Category)
- HDU 5441 Travel(2015 ACM/ICPC Asia Regional Changchun Online)
- xxx cannot be resolved to a type 错误解决方法
- 模拟电子技术之放大电路及各组态的性能介绍
- [Linux C编程]Linux文件锁
- 7.9指向函数的指针
- python解析plist文件gb2312编码格式到utf-8编码格式
- Android AP模式下获取SSID/PASSWORD