C/C++ include 目录的简单认识
来源:互联网 发布:元朝知乎 编辑:程序博客网 时间:2024/06/06 09:39
转载:from: pieryon
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。
【1】include头文件路径
除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:
# C
export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH
# CPP
export CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH
以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。
【2】link链接库文件路径
链接库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的(也可以在编译命令中通过 -l -L 来指定,这里讲的是使用系统默认搜索路径)。一般 Linux 系统把 /lib /usr/lib /usr/local/lib 作为默认的库搜索路径,所以使用这几个目录中的链接库文件可直接被搜索到(不需要专门指定链接库路径)。对于默认搜索路径之外的库,则需要将其所在路径添加到gcc/g++的搜索路径之中。链接库文件的搜索路径指定有两种方式:1)修改/etc/so.ld.conf 2)修改环境变量,在其中添加自己的路径1)在环境变量中添加动态链接库搜索路径:export LD_LIBRARY_PATH=XXX:$LD_LIBRARY_PATH静态链接库搜索路径:export LIBRARY_PATH=XXX:$LIBRARY_PATH以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。
2)在/etc/ld.so.conf 中添加指定的链接库搜索路径(需要root权限),然后运行 /sbin/ldconfig,以达到刷新 /etc/ld.so.cache的效果。
阅读全文
0 0
- C/C++ include 目录的简单认识
- 从头认识C—#include的好处
- C语言简单认识
- C/C++ include 目录 库目录
- C语言include其他目录下的头文件
- C语言的include
- C语言:#include <>与#include ””的区别
- include h 和include 。c的区别
- C 【#include <> 和 #include "" 的区别】
- C/C++ #include<> 和 #include""的区别
- Objective-C的认识
- [C++]include
- c include
- C语言中,#include的用法:#include "" 和 #include<>区别
- C语言_FILE结构体的简单认识
- C中宏定义与typedef的简单认识
- c和c++的include
- #include "*.c"文件的妙用
- netty源码探索(二)
- 堆排序
- LeetCode520. Detect Capital--检测单词的大写字母是否符合规范
- 斯坦福机器学习笔记——学习资源和课程概述
- 导弹拦截问题系列(dp)
- C/C++ include 目录的简单认识
- 负载均衡
- Sublime Text3配置小结
- pom文件配置详解(转载)
- 更改标题框|设置警告弹窗
- MySql中文乱码问题以及Incorrect string value: '\xF0\x9F...' 问题的解决方案
- Matrix
- 字符串去重 java
- Different Ways to Add Parentheses(leetcode)