如何让自己的动态链接库文件能够在linux下被调用
1个回答
展开全部
如何让自己的动态链接库文件能够在linux下被调用
VxWorks 安装的DVD有很多自己的动态链接库文件,在启动一些服务的时候需要调用这些动态链接库文件,否则不能启动一些功能,report:找不到相关的库文件。
解决的方法可以有多种:
1. 直接创建软连接的方式,将某动态链接库文件链接到 /lib 或者/usr/lib 下。
ln -s `pwd`/xxx.so /lib/xxx.so
这种方式适合少数固定不变动态链接库文件的调用,但如果文件很多,或者这些文件也是经常存在更新的,这么多比较繁琐。
2. 如果直接把动态链接库文件所在的路径直接加到系统查找库的路径下,这里有两种方式:
1) 更改/etc/ld.so.conf, 加入自己的动态链接库路径,好像需要更新/etc/ld.so.cache; 该方法应该可用,没有尝试过。
2) 更改环境变量LD_LIBRARY_PATH,把自己的动态链接库路径,加入到该环境变量中。
export LD_LIBRARY_PATH=/Jenkins/workspace/Mefa_Nightly_regression_Job02/MAIN/mefa_platform/logs_1st_round/mefaImage/simulatorTools:$LD_LIBRARY_PATH
在该环境变量中的动态链接库文件会比系统中/lib 或者 /usr/lib 更早调用。
linux重启之后,该环境变量会失效;
这种方式更适合自动化的测试的需要。
VxWorks 安装的DVD有很多自己的动态链接库文件,在启动一些服务的时候需要调用这些动态链接库文件,否则不能启动一些功能,report:找不到相关的库文件。
解决的方法可以有多种:
1. 直接创建软连接的方式,将某动态链接库文件链接到 /lib 或者/usr/lib 下。
ln -s `pwd`/xxx.so /lib/xxx.so
这种方式适合少数固定不变动态链接库文件的调用,但如果文件很多,或者这些文件也是经常存在更新的,这么多比较繁琐。
2. 如果直接把动态链接库文件所在的路径直接加到系统查找库的路径下,这里有两种方式:
1) 更改/etc/ld.so.conf, 加入自己的动态链接库路径,好像需要更新/etc/ld.so.cache; 该方法应该可用,没有尝试过。
2) 更改环境变量LD_LIBRARY_PATH,把自己的动态链接库路径,加入到该环境变量中。
export LD_LIBRARY_PATH=/Jenkins/workspace/Mefa_Nightly_regression_Job02/MAIN/mefa_platform/logs_1st_round/mefaImage/simulatorTools:$LD_LIBRARY_PATH
在该环境变量中的动态链接库文件会比系统中/lib 或者 /usr/lib 更早调用。
linux重启之后,该环境变量会失效;
这种方式更适合自动化的测试的需要。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询