当前位置: 技术问答>linux和unix
编译时链接我的动态库出现错误:undefined reference to ‘XXXXXX’
来源: 互联网 发布时间:2017-02-16
本文导语: 如题,之前没问题,编译了自己的动态库,又编译自己的测试程序,能链接到这个动态库。 可是,今天,我又重新编译了自己的动态库, 到了编译测试程序的时候,gcc居然报错,错误信息大致这样: undefined reference...
如题,之前没问题,编译了自己的动态库,又编译自己的测试程序,能链接到这个动态库。
可是,今天,我又重新编译了自己的动态库, 到了编译测试程序的时候,gcc居然报错,错误信息大致这样:
undefined reference to ‘XXXXXX’
也就是说动态库里没有这个程序使用的函数。
但是,我用mn命令列出动态库的符号清单,清单中,我看到了这些被报错不存在的函数名。
这是什么情况?
可是,今天,我又重新编译了自己的动态库, 到了编译测试程序的时候,gcc居然报错,错误信息大致这样:
undefined reference to ‘XXXXXX’
也就是说动态库里没有这个程序使用的函数。
但是,我用mn命令列出动态库的符号清单,清单中,我看到了这些被报错不存在的函数名。
这是什么情况?
|
库的名字改一个试试看,怀疑有重名的库
|
undefined reference to ‘XXXXXX’
没定义就是没定义,mn有符号,并不代表能找到.
要看库怎么给应用提供接口,测试程序通过什么来调用.
没定义就是没定义,mn有符号,并不代表能找到.
要看库怎么给应用提供接口,测试程序通过什么来调用.
|
也许是。。。。。。
|
库的位置放对了没?
|
你确定你的动态库已经在内存中运行了吗?
如果已经正确运行了,应该是没有问题的.
如果已经正确运行了,应该是没有问题的.