linux如何设置LD_LIBRARY_PATH

oldmtn 2016-05-13 09:06:52
大家都知道在linux下开发程序,有的时候需要依赖.so;
在开发机里面 可执行程序依赖的so都是绝对路径,但是当将so以及可执行文件拷贝到其他机器时,可执行文件依赖的so的路径却为空;
虽然我们可以在终端里面通过手动设置LD_LIBRARY_PATH,但是这个方式很低能;

有没有可以直接在exe里面直接设置其所依赖的so的路径的方法啊。。。。
...全文
742 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nothingbutpassion 2016-06-18
  • 打赏
  • 举报
回复
试试gcc的-rpath选项
nothingbutpassion 2016-06-18
  • 打赏
  • 举报
回复
试试gcc的-rpath选项
bayougeng 2016-06-17
  • 打赏
  • 举报
回复
你可以用脚本来启动,而不是直接exe。 在脚本文件里,你可以根据当前目录去推算so文件所在的目录,前提so文件的相对位置不能变。比如exe在yourApp/bin下,so在yourApp/lib下面,只要保证移动的时候总是整个copy yourApp这个目录就行了。 设置好环境变量,再启动exe
huazisgit 2016-06-17
  • 打赏
  • 举报
回复
如果只是针对当前用户的话 修改 ~/.bashrc 在文件内设置LD_LIBRARY_PATH, 修改完后记得运行命令 source ~/.bashrc 如果想针对所有用户的话, 修改/etc/profile即可
smallbear_2008 2016-05-14
  • 打赏
  • 举报
回复
封装一个启动程序,先执行install,把so都拷贝到默认搜索路径,然后再执行你的程序
oldmtn 2016-05-13
  • 打赏
  • 举报
回复
引用 3 楼 q3733353520 的回复:
把所以用到的库文件全部放在默认的文件夹
是/usr/lib? 这个可能性不大,也许用户希望安装到/home/<user-name>夹子呢
  • 打赏
  • 举报
回复
把所以用到的库文件全部放在默认的文件夹
oldmtn 2016-05-13
  • 打赏
  • 举报
回复
引用 1 楼 chaser007 的回复:
设置配置文件就一劳永逸了。 .bashrc与.profile文件。具体的自己去查一下吧。
这个方法不好。 我提供程序给很多个客户端,总不能指导他们每个人都要设置这个文件吧
chaser007 2016-05-13
  • 打赏
  • 举报
回复
设置配置文件就一劳永逸了。 .bashrc与.profile文件。具体的自己去查一下吧。
renwotao2009 2016-05-13
  • 打赏
  • 举报
回复
临时设置可以export 这个环境变量就行,非临时设置可以写在bashrc 文件或/etc/profile 可以参考http://blog.csdn.net/renwotao2009/article/details/40537161
LubinLew 2016-05-13
  • 打赏
  • 举报
回复
应该没有, 既然这样问什么不用静态库

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧