linux下动态库(*.so)的路径问题

本文为原创,如需转载,请注明作者和出处,谢谢!

    最近在使用wxWidgets,这是一个跨平台的C++库,在linux下编译成动态库(*.so),如果将编译后的可执行文件发布到其他机器的linux系统中,需要带上.so文件,这就需要设置一下这些动态库的路径,一般可以使用环境变量LD_LIBRARY_PATH来设置,可以在终端中直接输出如下的命令:

export LD_LIBRARY_PATH=/library/wxwidgets

其中/library/wxwidgets是.so文件存放的路径。通过这种方式只在当前的终端有效,别开一个终端还需要重新执行上面的命令。

为了更方便,可以在/etc/profile文件中加入如下的命令,这样当linux启动后就可以自动设置LD_LIBRARY_PATH路径了。

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH:/library/wxwidgets

注意:“=”两边不能有空格。

当然,也可以使用.sh文件来设置和执行可执行文件。

国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

时间: 2024-09-21 10:23:35

linux下动态库(*.so)的路径问题的相关文章

[c/c++]关于linux下动态库/静态库的基础问题

问题描述 [c/c++]关于linux下动态库/静态库的基础问题 本人小白,自学没多久,有几个问题一直没搞太明白,望高手解答! 假如我写了一个动态库libmylib.so(我有函数声明mylib.h),里面用到了A同学写的动态库liba.so(我有声明a.h),现在我要在一个新的程序test.cpp里调用我写的mylib.so 问题: 1.test.cpp的头文件需要两个.h都包含还是只要mylib.h? 2.用g++链接时 -lmylib -la都需要吗? 3.假如有一天liba.so文件丢失

GNU/Linux中动态库的搜索路径的指定方法汇总

动态链接时.执行时搜索路径顺序: 1.编译目标代码时使用-L指定的动态库搜索路径: 2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径: 3.配置文件/etc/ld.so.conf中指定的动态库搜索路径: 4.默认的动态库搜索路径/lib: 5.默认的动态库搜索路径/usr/lib. 以上的3-5步中,不再需要手动地指定动态库搜索路径了, 有一个可以进行配置更新默认的搜索路径的命令: ldconfig ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及

Linux下动态共享库 连接和加载路径

1. 连接时找不到某一个函数,出现" xxxxx undefined",应该就是连接时找不到相应的动态库,连接时动态库的路径如下: 1> 默认路径是:/lib, /usr/lib/, /usr/local/lib 2> -L: 指定连接时动态库的路径 3> LD_LIBRARY_PATH: 指定连接路径 2. 运行应用程序时出现"error<wbr>while loading shared libraries",则是加载时找不到相应的动

linux 链接动态库时产生如下错误

问题描述 linux 链接动态库时产生如下错误 g++ ADS_APIServer.o ../../udt/src/libudt.so ../Commlib/libCommlib.so libADS_APIServer.so -o ADS_APIServer ADS_APIServer.o: In function soapOpenThread(void*)': ADS_APIServer.cpp:(.text+0x8b0): undefined reference topthread_crea

关于linux使用动态库进行进程间通讯

问题描述 关于linux使用动态库进行进程间通讯 各位: 两个进程间通过动态库的方式如何进行参数的传递? 我首先在一个库中做了如下的内容: #include ""caculate.h""#include ""stdio.h""int iShare; #pragma data_seg (""shareddate"")int iShareInSeg = 1;#pragma data_seg#

linux基础-Linux下blas库安装问题,麻烦啦

问题描述 Linux下blas库安装问题,麻烦啦 Linux小白,刚上手,安装一个程序,需要blas库,但是一直装不上.想咨询一下大家,帮忙搞定的,给发微信红包.麻烦啦- 解决方案 可以加个微信聊,小白问题多 解决方案二: 如果你有安装包的话,就直接解压,然后进入解压后的文件夹 然后 ./configure make make install就ok了 解决方案三: ./configure make make install 解决方案四: 你是用的啥系统.用的源码还是啥? ubuntu 我用 ap

【原创】Linux下共享库嵌套依赖问题

问题场景:  动态库 librabbitmq_r.so 内部依赖动态库 libevent_core.so 和 libevent_pthreads.so : 可执行程序 sa 依赖动态库 librabbitmq_r.so ; 在链接生成 sa 的时候希望只指定 librabbitmq_r.so 而不指定 libevent_core.so 和 libevent_pthreads.so . 错误信息:  ... g++ ../source/authorisecfg.o ../source/bmcins

Linux下动态DNS服务配置方法详解

在网络管理中,对于DNS服务的管理是一项基础性的工作.随着用户规模的扩大,频繁地手工修改DNS的区域数据库文件不是一件轻松的工作.关于动态DNS(DDNS)的研究逐渐引起了人们的关注,不同的平台都推出了自己的解决方案.本文将详细介绍Linux环境下DDNS的解决方案,即由Internet Software Consortium(ISC)开发的BIND-DNS和DHCP(Dynamic Host Configure Protocol,动态主机配置协议)协同工作,进而共同实现DDNS的方法. 在Li

VC下动态库dll,静态库lib的编写和使用方法

  在一些项目中,考虑到系统的安全性和稳定性,经常要封装一些DLL或者LIB库供别人使用,那么怎么制作DLL或者LIB文件呢?今天特酷吧根据自己的实际情况给大家讲解下基本的制作方法.以下是我亲自操作的记录:1,动态库dll的编写方法:新建一个动态链接库: 填好工程名称即可选择工程类型,如果没有特别的要求,选择一个空工程即可.会看到这里和标准的控制台工程一样,没有任何系统默认建立的文件 下面就需要我们添加一些文件.建立动态库dll文件 , 我们不需要写main函数.只需要一个一个的实现我们需要实现