Gcc编译 之外链接头文件&Lib库
2014-11-27 23:11
274 查看
gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:
例:
gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld (静态库和动态库一样的用法)
上面这句表示在编译hello.c时:
头文件:
-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,
寻找的顺序是:/home/hello/include-- >/usr/include-->/usr/local/include
lib库:
-L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,
寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib
注意事项:
1、-lword 表示 libworld.so 或 libworld.a ,有的系统支持-llibword,有的则不支持
2、关于-static选项: -lworld表示在上面的lib的路径中寻找libworld.so动态库文件或静态库libworld.a(如果gcc编译选项中加入了“-static”表示强制使用libworld.a静态库文件)
例:
gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld (静态库和动态库一样的用法)
上面这句表示在编译hello.c时:
头文件:
-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,
寻找的顺序是:/home/hello/include-- >/usr/include-->/usr/local/include
lib库:
-L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,
寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib
注意事项:
1、-lword 表示 libworld.so 或 libworld.a ,有的系统支持-llibword,有的则不支持
2、关于-static选项: -lworld表示在上面的lib的路径中寻找libworld.so动态库文件或静态库libworld.a(如果gcc编译选项中加入了“-static”表示强制使用libworld.a静态库文件)
相关文章推荐
- 【转】gcc 编译链接库存在顺序问题…
- gcc 从语言编译全过程 预处理---->编译---->汇编----->链接
- gcc 从语言编译全过程 预处理---->编译---->汇编----->链接
- GCC/LD编译链接潜规则 (第三弹) : 当项目库中包含多个同名的头文件时.
- gcc & g++ 编译链接生成详解
- 程序中引入库文件的头文件 编译时并不需要显示的用gcc去链接他的库文件 why?
- GCC 编译动态库及引用库 &&动态链接库的编译链接
- gcc/g++ 动态编译和链接问题
- [转]GCC编译的背后( 预处理和编译 汇编和链接 )
- gcc链接.cpp和.c文件生成的.o库文件的时候,Linking error "undefined reference to `__gxx_personality_v0'"
- 编译与链接的问题 gcc -fPIC -shared
- gcc 链接(-l, -L)和编译(-include, -I)参数
- gcc undefined reference to '__stack_chk_fail'【操作系统开发编译中遇到的问题】
- gcc头文件指定及动态链接的使用
- 结合"hello world"探讨gcc编译程序的过程
- gcc 编译错误:"undefined reference to 'sqrt'
- GCC编译的背后( 预处理和编译 汇编和链接)
- GCC编程四个过程:预处理-编译-汇编-链接
- Dev_c++下解决编译winsock和pthread 的链接问题C++&STL
- Gcc 中的编译和链接