当前位置: 技术问答>linux和unix
linux下动态链接库函数找不到
来源: 互联网 发布时间:2016-10-11
本文导语: 我自己产生了一个动态链接库,在编译主程序时,库可以找到,但是库里的函数报错 undefined reference to 函数名。 针对这个动态库,比如我的函数名字叫test,我用命令nm 去看这个动态库,里面没有看到test这个东西...
我自己产生了一个动态链接库,在编译主程序时,库可以找到,但是库里的函数报错 undefined reference to 函数名。
针对这个动态库,比如我的函数名字叫test,我用命令nm 去看这个动态库,里面没有看到test这个东西,是不是说明库产生的有问题?
如何可以确定问题出在哪里呢?
针对这个动态库,比如我的函数名字叫test,我用命令nm 去看这个动态库,里面没有看到test这个东西,是不是说明库产生的有问题?
如何可以确定问题出在哪里呢?
|
库没有问题啊
c++编译时,对函数名称做了修改,根据入参、返回值啥的,在源名称上加了一些前缀后缀的
你用同样的方式来编译动态库及主程序,应该是可以识别的。
c++编译时,对函数名称做了修改,根据入参、返回值啥的,在源名称上加了一些前缀后缀的
你用同样的方式来编译动态库及主程序,应该是可以识别的。
|
添加extern "C"时,函数声明及定义都要一起添加
使用nm 查看,如果显示的名称与源程序中的名称一致,就表明添加extern "C"了..
使用nm 查看,如果显示的名称与源程序中的名称一致,就表明添加extern "C"了..