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变量

一个变量如果表示一个头文件目录,那么着个目录只能是唯一的

一个变量如果表示一个动态库目录,那么这个目录可以是冒号连接的多个目录

 

Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。