精华内容
下载资源
问答
  • root@AIASR01:/home/d5000/fujian/ZhongKeRuan/nlib# ldd libjxyasr.so linux-vdso.so.1 => (0x00007fffe853b000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f5a8dc98000) ...
    root@AIASR01:/home/d5000/fujian/ZhongKeRuan/nlib# ldd libjxyasr.so
    	linux-vdso.so.1 =>  (0x00007fffe853b000)
    	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f5a8dc98000)
    	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f5a8d984000)
    	libm.so.6 => /lib/libm.so.6 (0x00007f5a8d702000)
    	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f5a8d4ec000)
    	libc.so.6 => /lib/libc.so.6 (0x00007f5a8d180000)
    	libdl.so.2 => /lib/libdl.so.2 (0x00007f5a8cf7b000)
    	libz.so.1 => /usr/lib/libz.so.1 (0x00007f5a8cd64000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007f5a8e724000)
    root@AIASR01:/home/d5000/fujian/ZhongKeRuan/nlib#

     

    展开全文
  • <div><p>该提问来源于开源项目:rpplusplus/PokemonHook</p></div>
  • 一、gcc编译器安装动态库 链接动态库时编译器会去 LD_LIBRARY_PATH环境变量 记录的路径下寻找对应的库 注:如果想要配置一直生效需要将export语句加到~/.bashrc文件末尾 1)因为我安装了zsh终端shell所以默认的...

    一、gcc编译器安装动态库

    链接动态库时编译器会去 LD_LIBRARY_PATH环境变量 记录的路径下寻找对应的库
    注:如果想要配置一直生效需要将export语句加到~/.bashrc文件末尾


    1)因为我安装了zsh终端shell所以默认的环境变量在.zshrc里面

    vi ~/.zshrc
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:
    添加路径
    将export语句加到~/.zshrc文件中
     

    2)执行以下命令更新环境变量

    source ~/.zshrc

     

    二、arm-linux-gcc编译器安装动态库的步骤(以json库为例)

    1)把json库放在/home/xuan/json-c-0.9中,进入json库的目录,在此目录下执行以下命令安装配置

     

    ./configure --prefix=/home/xuan/jsonlib --build=i386-linux --host=arm-linux

     

    make&&make install

     

    2)进入/home/xuan/jsonlib/lib目录下,file libjson.so.0.0.1 确保是ARM架构

     

    3)如果libjson.so.0.0.1是x86架构,就再进入/home/xuan/json-c-0.9目录

    执行make distclean 清理makefile产生的文件,再执行一遍

     

    ./configure --prefix=/home/xuan/jsonlib --build=i386-linux --host=arm-linux

     

    make&&make install

     

    4)直到libjson.so.0.0.1是ARM架构之后,进入要编译的文件目录

    arm-linux-gcc test.c -o test -ljson -L/home/xuan/jsonlib/lib 后面带上链接库目录

     

    5)ubuntu编译成功

     

    三、开发板使用带动态库的程序的配置步骤

    1)进入ubuntu的/home/xuan/jsonlib/lib目录,用以下命令对其中的四个文件进行压缩成压缩包

     

    sudo tar -zcvf libjson.tar.gz libjson.so libjson.so.0 libjson.so.0.0.1

     

    2)将生成的libjson.tar.gz压缩包传到开发板的/usr/lib目录中,进行解压

     

    tar -zxvf libjson.tar.gz

     

    3)完成,执行程序成功

    展开全文
  • linux 动态库

    2013-06-05 22:16:46
    动态库查找路径设置方法: 方法一:在配置文件 /etc/ld.so.conf 中指定动态库搜索路径。每次编辑完该文件后,都必须运行命令 ldconfig 使修改后的配置生效。 方法二:通过环境变量 LD_LIBRARY_PATH 指定动态库...

    动态库查找路径设置方法:

    方法一:在配置文件 /etc/ld.so.conf 中指定动态库搜索路径。每次编辑完该文件后,都必须运行命令 ldconfig 使修改后的配置生效。

    方法二:通过环境变量 LD_LIBRARY_PATH 指定动态库搜索路径。当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔。

    方法三:在编译目标代码时指定该程序的动态库搜索路径。这是通过gcc 的参数"-Wl,-rpath,"指定。当指定多个动态库搜索路径时,路径之间用冒号":"分隔。

    gcc     -Wl,option

               Pass option as an option to the linker.  If option contains commas, it is split into multiple options at the commas.


    动态库查找顺序:

    1.编译目标代码时指定的动态库搜索路径;

    2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;

    3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;

    4.默认的动态库搜索路径/lib;

    5.默认的动态库搜索路径/usr/lib。


    查看动态库或者可执行程序依赖的库文件命令:ldd 


    动态库查找细节:

    1)执行这个查找动作的linux程序:  /usr/bin/ld

    2)这个程序参考的文件为:/etc/ld.so.conf,该文件保存着ld应该搜索的so文件路径。通常ld.so.conf.d这个文件夹下也保存着分文件,以供合成ld.so.conf

    3)该程序实际参考的文件为:/etc/ld.so.cache. 这个文件其实基本上就是对/etc/ld.so.conf做了稍微的处理以利于/usr/bin/ld程序的参考。

    4)将/etc/ld.so.conf 更新到/etc/ld.so.cache.的命令: ldconfig. 使用 ldconfig -p|less可以逐步查看从/usr/bin/ld 眼里的/etc/ld.so.cache的内容(路径)。

    5)所以往/etc/ld.so.conf内做指定的路径,如/usr/lib等加入你需要程序搜索的动态库.so文件,不需要执行ldconfig更新。因为/etc/ld.so.cache中保存的就是目录,而不是具体的so文件。

    6)向/etc/ld.so.conf添加路径。则需要调用ldconfig来更新/usr/bin/ld的搜索路径。


    原帖:

    http://blog.globstudio.com/373.html

    http://yaronspace.cn/blog/archives/832

    http://www.kuqin.com/linux/20080424/7471.html

    http://blog.sina.com.cn/s/blog_93b45b0f01011of1.html

    http://www.cnblogs.com/cute/archive/2011/02/24/1963957.html

    展开全文
  • linux中的动态库

    2020-07-07 17:24:20
    windows中的动态库dll,程序要调用dll文件时,要把dll文件放到windows/system32/路径下,才可以连接到。 在linux系统中,链接库有默认的路径,/lib存放linux系统本身的动态库。如果把动态库放到/lib目录,是可以链接...

    windows中的动态库dll,程序要调用dll文件时,要把dll文件放到windows/system32/路径下,才可以连接到。
    在linux系统中,链接库有默认的路径,/lib存放linux系统本身的动态库。如果把动态库放到/lib目录,是可以链接到的。但是不建议,因为动态库文件可能和linux系统的动态库文件重名,覆盖原来的.so文件,损坏linux系统。
    可以去修改/etc/ld.so.confi文件,添加自己的动态库目录。
    在使用ldconfig更新配置文件,使其生效。

    展开全文
  • 动态库在编译链接时只记录要用的名字在哪个库文件中,运行时才从库文件中查找这个名字(函数或着变量)并访问它。 之间的区别:生成可执行文件大小、可执行文件执行速度、库生效方式 (1)静态库 libxxx.a 1)生成...
  • linux动态库so更新

    千次阅读 2019-01-10 16:41:47
    linux更新so库: 不能直接使用cp进行覆盖,源程序直接段错误。 进入/lib文件夹,先删除原来库文件,再放进去新库文件。...动态库生成见之前博客https://blog.csdn.net/hutiewei2008/article/details/84650997 ...
  • 动态库链接问题解决

    千次阅读 2017-04-26 16:04:54
    编译动态库: 使用动态库的四种方法:  1. export LD_LIBRARY_PATH=/usr/lib64/( so所在路径)  只对当前用户的终端生效, 其他用户没用。  2.在该 sudo vim /etc/ld.so.conf文件下; 将动态库的路径加进来...
  • Linux 动态库搜索路径

    2015-09-18 10:02:00
    安装某些应用库后,会在安装路径下生成一些动态库文件,手动cp到/usr/lib目录下比较麻烦。较可行的办法是将该路径添加至动态库系统搜索路径下: 在配置文件 /etc/ld.so.conf 中添加该路径,然后 sudoldconfig 使...
  • 编译动态库: 使用动态库的四种方法:  1.export LD_LIBRARY_PATH=/usr/lib64/( so所在路径)  只对当前用户的终端生效, 其他用户没用。  2.在该 sudo vim /etc/ld.so.conf文件下; 将动态库的路径加进来;...
  • Linux动态库环境变量设置

    千次阅读 2018-06-30 15:46:26
    永久生效的环境变量设置,编辑/...动态库环境变量设置: LD_LIBRARY_PATH= folder : $LD_LIBRARY_PATH export LD_LIBRARY_PATH folder指的是动态库文件夹所在位置。例如,.so等文件在:/home/lib/下,则folder就是...
  • 安装第三方库的时候,xxx.dll的动态库经常提示找不到,其实只要把动态库的路径配置到环境变量就可以了。 记得:一定要重启计算机才能生效
  • 方法一:添加环境变量 子招数1. 添加当前用户当前终端的环境变量-临时 export LD_LIBRARY_PATH=/home/czd/...... 子招数2....修改~/.bashrc文件,在其末尾,添加环境变量 ...使其生效, source ~/.bashrc 如不能生
  • linux 下 动态库搜索路径优先顺序

    千次阅读 2018-03-14 16:06:29
    转载自...2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;//配置后要运行 ldconfig命令才能生效4.默认的动态库搜索路径/lib;5.默认的动态...
  • 方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径。可以通过编辑配置文件/etc/ld.so.conf来指定动态库的搜索路径,该文件中每行为一个动态库搜索路径。每次编辑完该文件后,都必须运行命令ldconfig使修改后的...
  • 如果target是动态库时(set_kind("shared")),add_rpathdirs以及add_ldflags都没有办法在链接时加入相应的参数。但是binary正常。</p><p>该提问来源于开源项目:xmake-io/xmake</p></div>
  • 程序运行时加载动态库路径顺序(Linux) 在linux系统中,如果程序需要加载动态库,它会按照一定的顺序(优先级)去查找: 优先级(1:最高) 路径 1 编译时指定链接的动态库的路径 2 环境变量LD_LIBRARY_PATH...
  • 程序运行时加载动态库路径顺序(Linux) 在linux系统中,如果程序需要加载动态库,它会按照一定的顺序(优先级)去查找: 优先级(1:最高) 路径 1 编译时指定链接的动态库的路径 2 环境变量LD_LIBRARY_PATH所指定的...
  • Linux动态库与静态库

    2012-12-26 15:20:53
    1、生成.SO: g++ test.cpp -fPIC -shared -o libtest.so ...在使用.SO的时候如果找不到.SO需要把.SO的路径加到/etc/ld.so.conf ldconfig使之生效 ldd 可以查看MAIN中是否包含了.SO。   3、生成.A
  • 2:添加动态库路径 sudo vi /etc/ld.so.conf 添加路径:/opt/YXJLib 3:配置文件重新生效: sudo ldconfig 4:将动态库放入 /opt/YXJLib 下 即可 临时更改这个环境变量,好像关掉窗口就失效了。 且需要命令行启动...
  • 1.编译目标代码时指定的动态库搜索路径; 2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径; 3.配置文件/etc/ld.so.conf中指定的动态库搜索路径; 4.默认的动态库搜索路径/lib; 5.默认的动态库搜索路径/usr/lib。 ...
  • C++动态链接

    2020-06-12 10:34:24
    通过动态链接实现调用者不需要重新编译的情况下被调用者的更改可生效 被调用者头文件str.h #ifndef STR_H #define STR_H #include <iostream> #include <string.h> using namespace std; class ...
  • 1、生成.SO: g++ test.cpp -fPIC -shared -o libtest....在使用.SO的时候如果找不到.SO需要把.SO的路径加到/etc/ld.so.conf ldconfig使之生效 ldd 可以查看MAIN中是否包含了.SO。 3、生成.A ar -r libtest2.a...
  • 1.编译目标代码时指定的动态库搜索路径;(-Wl,-rpath) 2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径; 3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;(ldconfig 才生效) 4.默认的动态库搜索路径/...
  • 动态库部署上去,然后将动态库的地址添加在系统中,再执行让其生效: /FJ ptscd1:/etc % cat ld.so.con ld.so.conf ld.so.conf.d/ //FJ ptscd1:/etc % cat ld.so.conf include /etc/ld.so.conf.d/*.conf /usr/...
  • linux动态库路径配置

    2015-08-24 11:57:23
    1. 编辑配置文件/etc/ld.so.conf,添加路径,如/usr/local/lib/2. 运行命令ldconfig,使其生效。 转载于:https://blog.51cto.com/feather/1687585
  • 执行命令:export LD_LIBRARY_PATH=动态库目录的绝对路径,这种设置只是临时生效,一旦终端关闭或者重启就失效了,一般用来测试动态库 第二种:(永久生效) 将“ export LD_LIBRARY_PATH=动态库目录.
  • linux动态库位置信息

    2018-05-21 13:16:55
    1) 安装so文件到/usr/lib/ 或/usr/local/lib2) 修改配置文件/etc/ld.so.conf, 添加你的so文件所在的目录 也可以/etc/ld.so.conf.d/目录下增加一个你自己的conf文件, 文件内容里添加一行... 是你的配置马上生效...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 306
精华内容 122
关键字:

动态库生效