导航:首页 > 编程系统 > linux动态库自己目录

linux动态库自己目录

发布时间:2022-09-18 23:18:58

linux中mysql的动态链接库在哪个文件

linux下的mysql,一般提供2个库:libmysqlclient.so 和 libmysqlclient_r.so
其中ibmysqlclient_r.so 是 libmysqlclient.so 的多线程安全版本

因为安装时系统环境和指定的路径可回能不同,这答2个库的路径可能在以下4个目录内
/usr/lib/mysql/
/usr/lib64/mysql
/usr/lib/
/usr/lib64/

Ⅱ linux下一个.so怎么知道自己的路径

so是动态库,你这个是flash的动态库,扔到firefox的plugins里面,如果是自己下的火狐中国版到火狐中国版的目录专找就行了,系统自属带的火狐全球通用版应该是/usr/lib/firefox/,找找。 如果是chrome浏览器ln一个连接就行,如果是konqueror在选项里...

Ⅲ linux动态库的创建

静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 程序1: hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_H 程序2: hello.c #include <stdio.h> void hello(const char *name) { printf("Hello %s!\n", name); } 程序3: main.c #include "hello.h" int main() { hello("everyone"); return 0; } 无论动态库还是静态库都需要用到.o文件来生成,先编译生成.o文件。 # gcc -c hello.c 1:创建静态库 静态库文件名的命名规范是以lib为前缀,紧接着跟静态库名,扩展名为.a。例如:我们将创建的静态库名为myhello,则静态库文件名就是libmyhello.a。 # ar cr libmyhello.a hello.o 使用静态库:只需要在你的源程序中加入包含你所需要使用到的函数的声明(即包含头文件),然后在gcc生成目标文件时候指明静态库就OK了(除非你包含的头文件在/usr/include,库文件在标准库/usr/lib,/lib下,否则你得显示指明他们的路径) # gcc -o hello main.c -L. -lmyhello # ./hello Hello everyone! 删除静态库文件运行./hello,程序正常运行,说明静态库公用函数已经链接到目标文件。 2: 利用.o文件创建动态库 动态库文件扩展名为.so。 # gcc -shared -fPCI -o libmyhello.so hello.o 动态库的使用与静态库使用方式一样 # gcc -o hello main.c -L. -lmyhello # ./hello ./hello: error while loading shared libraries: libmyhello.so: cannot open shared object file: No such file or directory 哦!出错了。快看看错误提示,原来是找不到动态库文件libmyhello.so。程序在运行时,会在/usr/lib和/lib等目录中查找需要的动态库文件。若找到,则载入动态库,否则将提示类似上述错误而终止程序运行。

Ⅳ 如何让linux加载当前目录的动态库

linux 加载当前目录的动态库的方法是:设置合适的环境变量LD_LIBRARY_PATH。
设置方法有以下三种:

1、临时修改,log out之后就失效
在terminal中执行:export LD_LIBRARY_PATH=./

2、让当前帐号以后都优先加载当前目录的动态库
修改~/.bash_profile在文件末尾加上两行: LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

3、让所有帐号从此都优先加载当前目录的动态库
修改/etc/profile在文件末尾加上两行: LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

Ⅳ 关于linux下连接动态库问题

gcc编译时,当使用动态库编译可以按照几种写法
1.gcc test.c ./libSDL2-2.so
2.gcc test.c -lSDL2-2
3.gcc test.c -L/home/test -lSDL2-2
一般的编译参数都是按照2或3去写
2写法的含义是从/lib或者/usr/lib目录下寻找名称为SDL2-2的库,即寻找/lib/libSDL2-2.so或者/usr/lib/libSDL2-2.so文件进行链接,当然如果没有动态库就会去找静态库,再没有应该就会在编译时报错
3写法的含义是从-L参数首先从指定的目录中寻找需要链接的库文件,随后再去寻找系统文件夹中是否存在需要的库
1写法的含义是将当前目录下的./libSDL2-2.so.0文件链接进最终文件,因此执行readelf -a a.out后在动态库部分所看到的路径就是./libSDL2-2.so.0,进而在执行文件时仅会从当前目录下寻找libSDL2-2.so.0文件,当执行文件时所在的目录下没有该文件时就会出现找不到库文件的操作

你第二次操作时,因为function.so库文件与a.out文件在同一个目录,同时也是在该目录下执行的ldd操作及运行a.out,a.out在加载动态库时从当前目录下找到了所需要的库文件,此时能够执行成功(ldd命令实质是一个脚本,通过设置环境变量运行动态库链接器来输出所有待链接的动态库)。
你可以试试将a.out拷贝至其他目录再次运行,将出现和第一次操作时一样的现象,找不到function.so文件。

具体的解决方法就是修改编译参数,将./libSDL2-2.so.0修改为-lSDL2-2并将libSDL2-2.so.0文件拷贝至/usr/lib目录下,并且可能因为没有修改链接器的缓存文件(将可能找不到带版本号后缀的动态库),需要在/usr/lib目录下建立一个文件连接(ln -s libSDL2-2.so.0 libSDL2-2.so)或者直接修改名称为libSDL2-2.so

Ⅵ linux 编译是怎么添加动态库的路径

最简单配置就是把连接库目录,添加到/etc/ld.so.conf中,一行一个目录就行,添加完成后,执行#ldconfig更新动态连接库。

Ⅶ 如何让linux加载当前目录的动态库

linux 加载当前目录的动态库的方法是:设置合适的环境变量LD_LIBRARY_PATH。
设置方法有以下三种:

1、临时修内改,log out之后就容失效
在terminal中执行:export LD_LIBRARY_PATH=./

2、让当前帐号以后都优先加载当前目录的动态库
修改~/.bash_profile在文件末尾加上两行: LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

3、让所有帐号从此都优先加载当前目录的动态库
修改/etc/profile在文件末尾加上两行: LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

Ⅷ 如何让linux加载当前目录的动态库

让linux加载当前目录抄的动态库,设置方法有以下三种:
1、临时修改,log out之后就失效
在terminal中执行:
export LD_LIBRARY_PATH=./
2、让当前帐号以后都优先加载当前目录的动态库
修改~/.bash_profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH
3、让所有帐号从此都优先加载当前目录的动态库
修改/etc/profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

Ⅸ 如何让linux加载当前目录的动态库

让linux加载当前目录的动态库,设置方法有以下三种:
1、临时修改,log out之后就失效版
在terminal中执行:
export LD_LIBRARY_PATH=./
2、让权当前帐号以后都优先加载当前目录的动态库
修改~/.bash_profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH
3、让所有帐号从此都优先加载当前目录的动态库
修改/etc/profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

Ⅹ (linux)动态链接库找不到路径

ld.so.conf只是在编译时查找动态库的路径;

运行时动态库的查找路径默认在/usr/lib和/lib,所以找不到
可以设置LD_LIBRARY_PATH=/usr/local/ma(你动态库的所在目录)
或者把动态库拷贝到/usr/lib或/lib下

阅读全文

与linux动态库自己目录相关的资料

热点内容
物流做数据的是什么岗位 浏览:80
jsp传到mysql乱码 浏览:584
有什么免费的钢琴陪练app 浏览:720
品牌知名度的数据信息从哪里找 浏览:206
网络技术简介 浏览:96
数控铣床如何使用软件编程 浏览:875
远程桌面无法传输文件 浏览:953
ie8怎样升级到ie11 浏览:397
榆林市榆阳区有哪些编程课 浏览:246
轻松备份专业版教程 浏览:658
移动网络2g怎么改成4g 浏览:634
linux设置字体大小 浏览:329
安全牛的linux 浏览:672
wps会缓存excel文件么 浏览:592
app开发phpjava哪个更好 浏览:53
app有十万用户是什么概念 浏览:285
g73车球头怎么编程的 浏览:940
数据库管理的优点是 浏览:617
安卓毫秒计时器 浏览:92
hmci模组找不到文件 浏览:348

友情链接