iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux加载动态库.so的3种方法
  • 549
分享到

linux加载动态库.so的3种方法

linux运维服务器 2023-08-31 05:08:45 549人浏览 安东尼
摘要

        昨天同事联系我,他部署新版本的MS软件提示找不到动态库。但是他能找到这个动态库文件,但不知道如何加载。这样的问题对于我来说是个再简单不过的问题,但对于一个新手,可能就是个打破头都不知道如何解决的问题。所以我想对这个简单问题,

        昨天同事联系我,他部署新版本的MS软件提示找不到动态库。但是他能找到这个动态库文件,但不知道如何加载。这样的问题对于我来说是个再简单不过的问题,但对于一个新手,可能就是个打破头都不知道如何解决的问题。所以我想对这个简单问题,写个文章,希望对于刚接触这样的问题的同行有所启发。

         我了解的加载动态库,一共是三种方法。分别是将库放到/usr/lib64下;修改/etc/ld.so.conf以及在/etc/ld.so.conf.d下添加conf文件,将路径包装到该文件中。

         1:直接放到/etc/lib64下,然后用root用户调用ldconfig 加载生效。用ldconfig -v|grep xxx查看是否加载成功。

          

ln -s libvo-amrwbenc.so.0.0.4 libvo-amrwbenc.soln -s libopencore-amrnb.so.0.0.3 libopencore-amrnb.soln -s libx264.so.160 libx264.soln -s libunimrcpclient.so.0.5.0 libunimrcpclient.soln -s libasrclient.so.0.5.0 libasrclient.soln -s libunimrcpserver.so.0.5.0 libunimrcpserver.soln -s libapr-1.so.0.5.2 libapr-1.soln -s libaprutil-1.so.0.5.4 libaprutil-1.soln -s libsofia-sip-ua.so.0.6.0 libsofia-sip-ua.soln -s libunimrcpclient.so.0.5.0 libunimrcpclient.soln -s libunimrcpserver.so.0.5.0 libunimrcpserver.soln -s libexpat.so.0.5.0 libexpat.so

[ms@system-2-new etc]$ ldconfig -v|grep amr
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
ldconfig: /usr/local/lib/libavfilter.so.7 is not a symbolic link

ldconfig: /usr/local/lib/libavdevice.so.58 is not a symbolic link

ldconfig: /usr/local/lib/libpostproc.so.55 is not a symbolic link

ldconfig: /usr/local/lib/libavcodec.so.58 is not a symbolic link

        libopencore-amrwb.so.0 -> libopencore-amrwb.so.0.0.3
        libopencore-amrnb.so.0 -> libopencore-amrnb.so.0.0.3
ldconfig: /usr/local/lib/libavfORMat.so.58 is not a symbolic link
        libvo-amrwbenc.so.0 -> libvo-amrwbenc.so.0.0.4

ldconfig: /usr/local/lib/libswscale.so.5 is not a symbolic link

ldconfig: /usr/local/lib/libswresample.so.3 is not a symbolic link

ldconfig: /usr/local/lib/libavutil.so.56 is not a symbolic link

ldconfig: Can't create te

2:修改ld.so.conf文件,将动态库的目录放到改文件中,然后调用ldconfig加载,调用ldconfig -v|grep xxxx查看是否加载成功。

[ms@system-2-new etc]$ vi ld.so.confinclude ld.so.conf.d/*.conf/usr/local/lib//usr/local/unimrcp/lib//usr/local/apr/lib//usr/local/lib64/ldconfigldconfig -v|grep amr

3:在/etc/ld.so.conf.d目录下创建文件,将动态库的文件路径放到conf文件中 

[ms@system-2-new etc]$ cd /etc/ld.so.conf.d[ms@system-2-new ld.so.conf.d]$ lsatlas-x86_64.conf    kernel-3.10.0-862.el7.x86_64.conf  llvm-x86_64.confdyninst-x86_64.conf  libiscsi-x86_64.conf               mariadb-x86_64.conf[ms@system-2-new ld.so.conf.d]$ [ms@system-2-new ld.so.conf.d]$ vi mariadb-x86_64.conf/usr/lib64/Mysql

[root@system-2-new ~]# ldconfig -v|grep mysql
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
ldconfig: /usr/local/lib/libavfilter.so.7 is not a symbolic link

ldconfig: /usr/local/lib/libavdevice.so.58 is not a symbolic link

ldconfig: /usr/local/lib/libpostproc.so.55 is not a symbolic link

ldconfig: /usr/local/lib/libavcodec.so.58 is not a symbolic link

ldconfig: /usr/local/lib/libavformat.so.58 is not a symbolic link

ldconfig: /usr/local/lib/libswscale.so.5 is not a symbolic link

ldconfig: /usr/local/lib/libswresample.so.3 is not a symbolic link

ldconfig: /usr/local/lib/libavutil.so.56 is not a symbolic link

/usr/lib64/mysql:
        libmysqlclient.so.20 -> libmysqlclient.so.20.3.14
        libmysqlclient.so.18 -> libmysqlclient.so.18.0.0
[root@system-2-new ~]# 

总结

我了解的加载动态库,一共是三种方法。分别是将库放到/usr/lib64下;修改/etc/ld.so.conf以及在/etc/ld.so.conf.d下添加conf文件,将路径包装到该文件中。root下使用ldconfig命令加载生效,使用ldconfig -v|grep xxx进行查看是否生效。

来源地址:https://blog.csdn.net/lzyzuixin/article/details/128416836

--结束END--

本文标题: linux加载动态库.so的3种方法

本文链接: https://www.lsjlt.com/news/384216.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux加载动态库.so的3种方法
            昨天同事联系我,他部署新版本的MS软件提示找不到动态库。但是他能找到这个动态库文件,但不知道如何加载。这样的问题对于我来说是个再简单不过的问题,但对于一个新手,可能就是个打破头都不知道如何解决的问题。所以我想对这个简单问题,...
    99+
    2023-08-31
    linux 运维 服务器
  • Android基础——动态加载so库
    Android中动态加载so 原因:如果把so文件直接放在libs目录下,在android程序启动的时候会默认加载libs目录下的所有so库,但这些so库可能会在某些地方存在冲突,使用动态加载so库,就可以通过一些条件判断是否要加载这个so...
    99+
    2023-08-17
    android java android studio
  • android 调用JNI SO动态库的方法
    总结一下: android 调用JNI 分为静态调用与动态调用(不论动态还是静态前提都是NDK环境已经配置好的前提下) 一、静态主要就是将c(.c)或者c++(cpp)的源文件直接加...
    99+
    2024-04-02
  • 3种C# 加载Word的方法
    目录1.加载本地Word2.以只读模式加载Word3.从流加载Word【程序环境】 Windows 10 Visual Studio 2017 Word ...
    99+
    2024-04-02
  • php动态库无法加载的解决方法
    这篇文章主要为大家展示了php动态库无法加载的解决方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php动态库无法加载的解决方法”这篇文章吧。php有什么用php是一个嵌套的缩写名称,是英文超级...
    99+
    2023-06-06
  • android调用JNI SO动态库的方法是什么
    这篇文章主要介绍“android调用JNI SO动态库的方法是什么”,在日常操作中,相信很多人在android调用JNI SO动态库的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”android调用...
    99+
    2023-06-25
  • php直接加载so库文件的方法是什么
    在PHP中,可以通过使用`dl()`函数来直接加载SO库文件。`dl()`函数用于动态加载共享库文件,其语法如下: bool dl(...
    99+
    2023-10-25
    php
  • java实现动态编译并动态加载的方法
    小编给大家分享一下java实现动态编译并动态加载的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在D盘test目录下有个java文件:AlTest.javap...
    99+
    2023-06-14
  • vue3动态加载对话框的方法实例
    目录简介常规方式使用对话框异步动态加载使用方式TestModal.vue使用结果动态操作对话框的实现DzModalService.tsmain.ts总结简介 介绍使用vue3的异步组...
    99+
    2024-04-02
  • 动态加载JavaScript文件的方法有哪些
    本篇内容介绍了“动态加载JavaScript文件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一种便是利用ajax方式,把sc...
    99+
    2023-07-04
  • linux动态链接库的使用方法
    这篇文章主要介绍“linux动态链接库的使用方法”,在日常操作中,相信很多人在linux动态链接库的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux动态链接库的使用方法”的疑惑有所帮助!接下来...
    99+
    2023-06-09
  • linux静态库和动态库的创建与使用方法
    这篇文章主要介绍“linux静态库和动态库的创建与使用方法”,在日常操作中,相信很多人在linux静态库和动态库的创建与使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux静态库和动态库的创建与使...
    99+
    2023-06-13
  • Flutter组件状态管理的3种方法
    前言 前面讲了Flutter布局,布局只是静态的。在Flutter中,组件分为StatelesslWidget和StatefulWidget。 StatelesslWidget 没有...
    99+
    2024-04-02
  • spring启动加载程序的几种方法介绍
    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作import javax.anno...
    99+
    2023-05-31
    spring 加载
  • SpringSecurity实现动态加载权限信息的方法
    ①数据库中资源与角色对应关系,以及角色和用户对应关系如下图所示:  ②实现FilterInvocationSecurityMetadataSource类 (1)List&...
    99+
    2024-04-02
  • vue动态加载本地图片的处理方法
    发现问题 今天遇到一个在vue文件中引入本地图片的问题,于是有了这篇文章。 通常,我们的一个img标签在html中是这么写的: <img src="../imag...
    99+
    2024-04-02
  • 基于Vue+Openlayer实现动态加载geojson的方法
    加载1个或多个要素 <template> <div id="map" style="width: 100vw; height: 100vh"><...
    99+
    2024-04-02
  • c#动态执行脚本的3种方式详解
    目录1.使用Roslyn编译器2.使用IronPython或IronRuby3.使用JavaScript引擎在C#中,可以使用一些第三方库或内置类库实现动态执行脚本的功能。以下是几个...
    99+
    2023-05-14
    c#动态执行脚本 c#动态执行
  • LINUX DNS解析的3种修改方法
    1.HOST 本地DNS解析vi /etc/hosts添加规则 例如:223.231.234.33 www.baidu.com 2.网卡配置文件DNS服务地址 vi /etc/sysconfig/network-scripts/ifcfg-...
    99+
    2023-01-31
    方法 LINUX DNS
  • python中动态加载模块和类方法实现
    python中动态加载模块和类方法实现测试代码   文件名: mytest.py 具体代码如下:   注意:模块名,类名,方法名都是变量。   #coding=UTF-8 class TestClass: def sub(se...
    99+
    2023-01-31
    模块 加载 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作