有时候安装软件,或者执行某些命令的时候,系统提示找不到某个库文件,这时候你可以到/usr/local/lib下查看否有该库文件,或者find查找下,如果没有找到就需要安装,如果找到了,比如在/usr/local/lib目录找到了. 可以执行 ldconfig -v|grep '库文件名' 执行这个命令一般是找不到的. 这时候你可以把/usr/local/lib目录添加到 /etc/ld.so.conf这个库配置文件中,然后,执行ldconfig命令使配置文件生效,在ldconfig -v|grep '库文件名'...
$gcc -c hello.c -o hello.o 1.连接成静态库 连接成静态库使用ar命令,其实ar是archive的意思 $ar cqs libhello.a hello.o 2.连接成动态库 生成动态库用gcc来完成,由于可能存在多个版本,因此通常指定版本号: $gcc -shared -Wl,-soname,libhello.so.1 -o libhello.so.1.0 hello.o 另外再建立两个符号连接: $ln -s libhello.so.1.0 libhello.so.1 $ln -s libhello.so.1 libhello.so 这样一个libhello的动态连接库就生成...
在网上搜索了半天,希望找一个工具查看库文件的内容,终于找到了,记录下来,省得忘记。 linux下动态库查看方法:nm -D libavformat.so linux下静态库查看方法:ar -t libavformat.a 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/96480/showart_1924364.html
一、为什么要使用库文件 我们在实际编程工作中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同, 实现代码也相同,也是我们所说的重复代码。比如,很多项目里都有一个用户验证的功能。 代码段如下: //UserLogin.h文件,提供函数声明 int IsValidUser(char* username, int namelen); //UserLogin.c文件,实现对用户信息的验证 int IsValidUser(char* username, int namelen) { int IsValid = 0...
库文件在连接(静态 库 和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。设置库文件的搜索路径有下列两种方式,可任选其一使用: 在环境变量 LD_LIBRARY_PATH 中指明库...