Ubuntu下如何设置程序include搜索路径及链接路径

添加库的include及lib路径

linux下系统默认路径为 /usr/include, /usr/local/include, gcc在编译程序时会按照当前目录路径->系统默认路径->系统环境变量的路径方式去查找,所以当我们想调用的库未安装在系统默认路径时,我们可以通过手动添加环境变量的方式为系统添加搜索路径

方法1:修改环境变量:

复制代码
export C_INCLUDE_PATH=path_name:$C_INCLUDE_PATH       //为c语言程序设置include路径
export CPLUS_INCLUDE_PATH=path_name:$CPLUS_INCLUDE_PATH        //为c++程序设置include路径
export LIBRARY_PATH=path_name:$LIBRARY_PATH  //为静态库设置搜索路径
export LD_LIBRARY_PATH=path_name:$LD_LIBRARY_PATH  //为动态库设置搜索路径

注意在设置完环境变量后

复制代码
source ~/.bashrc  //使其立刻生效

如果想在打开命令行窗口时就生效,则可以gedit ~/.bashrc 直接将路径写入.bashrc中

同时这里提一下**~/.bashrc中的系统环境变量只对当前用户生效, /etc/profile 中的系统环境变量对系统所有用户都生效.

/etc/profile会在每个开机启动后进行加载,~/.bashrc**则会在shell启动时进加载.

方法2:修改配置文件

系统环境变量是整个系统运行过程中一直存在的变量,而这些变量正是系统刚启动时由配置文件读取出来的,所以我们当然可以通过修改配置文件的方式使linux系统启动时能自动加载环境变量./etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径

复制代码
修改/etc/ld.so.conf的内容在最后添加库加载的新的路径
然后执行:ldconfig 使配置生效。
相关推荐
爱莉希雅&&&6 小时前
LVS+Keepalived+DNS+Web+NFS 高可用集群项目完整部署流程
运维·nginx·dns·lvs·keepalived·nfs·ipvsadm
小丑西瓜6666 小时前
CMake基础用法,cmake_minimum_required,project,add_executable
linux·服务器·c++·camke
晚风吹长发6 小时前
初步了解Linux中的命名管道及简单应用和简单日志
linux·运维·服务器·开发语言·数据结构·c++·算法
大熊背6 小时前
多核架构中,RTOS小核跑sensor 的normal模式,大核linux核跑WDR模式,将小核的曝光时间映射到WDR模式中的曝光时间的方法
linux·自动曝光·wdr
全栈测试笔记7 小时前
异步函数与异步生成器
linux·服务器·前端·数据库·python
weixin_462446237 小时前
Linux 下使用 xfreerdp3 远程连接 Windows(从安装到实战使用)
linux·运维·windows
EndingCoder7 小时前
配置 tsconfig.json:高级选项
linux·前端·ubuntu·typescript·json
爱丶狸7 小时前
Linux三剑客之sed
linux·运维·服务器
China_Yanhy7 小时前
区块链运维日记 · 第 1 日 :消失的 2000 笔提现 —— 致命的 Nonce 冲突
运维·区块链
趁着年轻吃点苦8 小时前
录用通知-自助系统的服务器部署指南
运维·服务器