avd*_*avd 8 c++ linux compiler-errors shared-libraries linker-errors
我有一个链接器错误,它表示对函数的未定义引用.我期望函数的共享库具有该函数名称(我通过nm -s检查)所以现在接下来要看的是函数参数是否正确.如何在共享对象文件中查看函数的参数类型和数量?
编辑:所以它的问题是:我试图通过链接共享的C对象来创建一个C++共享对象文件,但是在C++源代码中我没有在"extern"C""块中包含头文件,所以它无法找到那些符号,感谢所有回复此问题的人.这个问题现在解决了.
您可以使用nm与--demangle选项:
nm -s --demangle libWhatever.so
Run Code Online (Sandbox Code Playgroud)
试试样品.so给我输出如
00005820 T detail :: print_(std :: ostream&,cv :: Mat const&,std :: string const&)
T只是意味着它在用于制作的目标文件中,.so并且不需要由链接器解析.