由于业务需要,需要调用c接口,但是有so文件,也放到linux下,路径使用的绝对路径,但是一直报unable to load library .so,,,刚开始打算把所有的.so文件放到/etc/lib64,但是怕有重复,就没敢试,我的解决方法是加入动态里:

1、cd  /etc

2、vim  ld.so.conf   把需要加载的so文件夹路径,放到ld.so.conf 里,我这边是/home/test/lib
3、重启ldconfig


ps:如果中间有报错了,应该是少依赖,对应加上就行了

用ldd  libxxxx.so 查看依赖


加上后应该可以访问了,但是调用c函数报错,可能打开文件数有限制了,具体步骤:

1、vim  /etc/security/limits.conf

2、添加  两行:

       * soft  nofile  5120

       * hard nofile 10240


3、重启服务器 reboot




ps:centos系统

Logo

更多推荐