ARM-linux(fedora)随笔

ARM-linux(fedora)随笔

ID:37917877

大小:866.50 KB

页数:33页

时间:2019-06-02

ARM-linux(fedora)随笔_第1页
ARM-linux(fedora)随笔_第2页
ARM-linux(fedora)随笔_第3页
ARM-linux(fedora)随笔_第4页
ARM-linux(fedora)随笔_第5页
资源描述:

《ARM-linux(fedora)随笔》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LD_LIBRARY_PATH环境变量的设置文章分类:操作系统在linux下的编程,毫无疑问的迟早都要用到LD_LIBRARY_PATH这个环境变量,不过这个环境变量是基于shell的,也就是说只有在当前设置了的shell里才会有作用,因此每次打开新的shell运行程序不停地设置LD_LIBRARY_PATH,是一件非常麻烦的事情,所以我们就会想有不有什么一劳永逸地方法,使得设置之后就不用再去设置了?答案是肯定的,即在~/目录下打开.bash_profile文件,设置环境变量如下:Java代码 1.LD_LIBRARY_PA

2、TH=dir:$LD_LIBRARY_PATH  2.export LD_LIBRARY_PATH  LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATHexportLD_LIBRARY_PATH 那么以后打开新的shell执行程序是,再也不用每次打开shell就设置LD_LIBRARY_PATH环境变量了。附:linux共享库位置配置(LD_LIBRARY_PATH环境变量或者更改/etc/ld.so.conf或者使用-R选项) 今天下午尝试使用libosip2,安装比较简单,按照自带的help文档里面

3、的操作进行即可。$>mkdirlinux-build $>cdlinux-build$>../libosip2-2.2.0/configure$>make             (最后2步要在管理员权限下执行)#makeinstall 完成之后,会在/usr/local/lib路径下生成一些lioosipXXX.so的文件,在/usr/local/include下生成关于osip的头文件。为了测试安装是否正确,在eclipse下建了个测试项目,写了很简单的代码: 然后查到可能是因为共享库设置的问题:下面的几段是转载的,看了

4、之后明白linux怎么找到共享库的===========================================================================================Linux运行的时候,是如何管理共享库(*.so)的?在Linux下面,共享库的寻找和加载是由/lib/ld.so实现的。ld.so在标准路经(/lib,/usr/lib)中寻找应用程序用到的共享库。但是,如果需要用到的共享库在非标准路经,ld.so怎么找到它呢?目前,Linux通用的做法是将非标准路经加入/et

5、c/ld.so.conf,然后运行ldconfig生成/etc/ld.so.cache。ld.so加载共享库的时候,会从ld.so.cache查找。传统上,Linux的先辈Unix还有一个环境变量:LD_LIBRARY_PATH来处理非标准路经的共享库。ld.so加载共享库的时候,也会查找这个变量所设置的路经。LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libexportLD_LIBRARY_PATH但是,有不少声音主张要避免使用LD_LIBRARY_PATH变量,尤其是作为全局变量。这些声音是:*

6、LD_LIBRARY_PATHisnottheanswer-http://prefetch.net/articles/linkers.badldlibrary.html*WhyLD_LIBRARY_PATHisbad-http://xahlee.org/UnixResource_dir/_/ldpath.html *LD_LIBRARY_PATH-justsayno-http://blogs.sun.com/rie/date/20040710解决这一问题的另一方法是在编译的时候通过-R选项指定run-timepa

7、th。1.往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到2.想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后l

8、dconfig一下,新的library才能在程序运行时被找到。3.如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找libra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。