当前位置: 技术问答>linux和unix
怎样查找所缺的函数在哪个库里
来源: 互联网 发布时间:2015-01-10
本文导语: 如果编译的时候报告undefined reference,多半是没有连接相应的库,可是应该连接哪个库呢? 库一般都放到/usr/lib或者/lib下面,也有的放在/usr/local/lib下面 strings命令用于查看一个.o或者.a或者.so里面的名字(可能是函数...
如果编译的时候报告undefined reference,多半是没有连接相应的库,可是应该连接哪个库呢?
库一般都放到/usr/lib或者/lib下面,也有的放在/usr/local/lib下面
strings命令用于查看一个.o或者.a或者.so里面的名字(可能是函数,也可能是变量)
find /usr/lib -print --exec strings {} ; > /tmp/strings.tmp
这个命令的意思是查找/usr/lib下面的所有文件,对每一个文件执行命令strings,{}代表当前查找到的文件名,;表示命令结束。所有的输出结果写到文件/tmp/strings.tmp当中,这个文件包含了/usr/lib目录下所有库里的名字(函数和全局变量)。
打开文件/tmp/strings.tmp(可能有几十M),查找你缺少的名字,然后往后查,看看属于哪个库文件,-print参数就用来打印文件名。
算是回答karalme的问题吧
库一般都放到/usr/lib或者/lib下面,也有的放在/usr/local/lib下面
strings命令用于查看一个.o或者.a或者.so里面的名字(可能是函数,也可能是变量)
find /usr/lib -print --exec strings {} ; > /tmp/strings.tmp
这个命令的意思是查找/usr/lib下面的所有文件,对每一个文件执行命令strings,{}代表当前查找到的文件名,;表示命令结束。所有的输出结果写到文件/tmp/strings.tmp当中,这个文件包含了/usr/lib目录下所有库里的名字(函数和全局变量)。
打开文件/tmp/strings.tmp(可能有几十M),查找你缺少的名字,然后往后查,看看属于哪个库文件,-print参数就用来打印文件名。
算是回答karalme的问题吧
|
1:用man xxx命令来找帮助,里面有头文件和库。
2:如果没有,用google搜索。
3:如果知道库的名字,可以用locate定位。
2:如果没有,用google搜索。
3:如果知道库的名字,可以用locate定位。