首页 > 代码库 > Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关
Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关
http://bbs.chinaunix.net/thread-983182-1-1.html
PATH变量:
此变量代表可执行程序在任意位置直接输入指令执行时,系统会到此变量标记的目录里去找对应的可执行程序。
有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下:
(1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以:
export PATH=$PATH:path -----path为命令所在路径
(2)如果只给当前用户永久添加,则:
在~/.bash_profile中的靠近末尾有类似这样的一行PATH=$PATH:$HOME/bin后添
加:path,就变成PATH=$PATH:$HOME/bin:path
文件修改并保持完以后,运行source ~/.bash_profile命令即可使修改操作立即生效。
(3)如果给系统中所有的用户都永久添加,则:
在/etc/profile文件末尾添加export PATH=$PATH:path (要有root权限),文件修改并保持完以后,运行source etc/profile命令即可使修改操作立即生效。
LD_LIBRARY_PATH变量
一个变量如果表示一个头文件目录,那么着个目录只能是唯一的
一个变量如果表示一个动态库目录,那么这个目录可以是冒号连接的多个目录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。