• 设置 Linux 的 LD_LIBRARY_PATH 变量


    源地址:http://www.cnblogs.com/trying/archive/2013/06/07/3123577.html

    我们在ubuntu图形界面下用eclipse写了一个动态库,到centos下调用时出现错误,   

    error while loading shared libraries: libmysqlclientso.so.0: cannot open shared object file: No such file or directory

    以为没装mysql-client,因为ubuntu下叫这个,但是centos下直接就叫mysql,服务器版本叫mysql-server,查找了一下libmysqlclient.so

    find / -name libmysqlclient.so,果然发现不同:

    这是因为没有把动态链接库的安装路径(例如说是 /usr/local/lib )放到变量 LD_LIBRARY_PATH 里。

    这时,可以用命令 export 来临时测试确认是不是这个问题:

    export LD_LIBRARY_PATH=/usr/local/lib
    

    在终端里运行上面这行命令,再运行这个可执行文件,如果运行正常就说明是这个问题。

    接下来的问题是:以上做法,只是临时设置变量 LD_LIBRARY_PATH ,下次开机,一切设置将不复存在;如何把这个值持续写到 LD_LIBRARY_PATH 里呢?

    我们可以在 ~/.bashrc 或者 ~/.bash_profile 中加入 export 语句,前者在每次登陆和每次打开 shell 都读取一次,后者只在登陆时读取一次。我的习惯是加到 ~/.bashrc 中,在该文件的未尾,可采用如下语句来使设置生效:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    

    修改完后,记得关掉当前终端并重新打开一个新的终端,从而使上面的配置生效。

  • 相关阅读:
    错题
    URL和URI区别
    适配器
    JAVA 反射机制
    JAVA 面试题
    JAVA 继承
    多态 JAVA
    Java面向对象编辑
    [LeetCode] Merge k Sorted Lists
    [LeetCode] Valid Palindrome
  • 原文地址:https://www.cnblogs.com/lanye/p/5363428.html
Copyright © 2020-2023  润新知