C++程序运行时,未找到已定义的符号
2014-05-24 20:13
316 查看
可能原因:
使用了关键字virtual,却没有实现,导致编译没有出错,但运行时,程序在动态解析该函数符号,未找到函数入口。
打印出undefined symbol!
使用nm XXXX.so | grep aaa, 可以发现前面的符号标志为 U , 即意为unfined
使用C++filt命令,可以将该符号还原函数真实定义名,定位出错点。
%nm XXXX.so | grep aaa | c++filt 。
使用了关键字virtual,却没有实现,导致编译没有出错,但运行时,程序在动态解析该函数符号,未找到函数入口。
打印出undefined symbol!
使用nm XXXX.so | grep aaa, 可以发现前面的符号标志为 U , 即意为unfined
使用C++filt命令,可以将该符号还原函数真实定义名,定位出错点。
%nm XXXX.so | grep aaa | c++filt 。
相关文章推荐
- c++工程编译选项符号忘记定义导致程序运行不确定问题
- C++ “error LNK1169: 找到一个或多个多重定义的符号” 解决方法
- C++ “error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- C++杂记:“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 安装C++ GUI Qt 3 运行程序无法找到qt-mtnc321.dll
- (转载和原创)关于解决C++“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- C++:fatal error LNK1169: 找到一个或多个多重定义的符号
- VS2010中C++ 出现fatal error LNK1169: 找到一个或多个多重定义的符号
- 为什么很多C++程序不能运行?
- VS2005的程序运行时提示没有找到MSVCR80D.dll的解决办法(附加自己亲自试验)
- C++编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决
- 测试用C/C++编写的程序运行的时间
- fatal error LNK1169: 找到一个或多个多重定义的符号[转]
- 用VS2005写的C++程序能在未安装VS2005的机器上直接运行吗?
- 让C/C++图形程序独立运行
- 无法以main为入口运行C++程序
- 在C++中运行.exe程序
- 运行程序时,总是提示找不到“Microsoft.Office.Interop.Excel”的引用,即使程序在“引用”中添加了Excel组件,但无法找到“Microsoft.Office.Interop.Excel.dll”
- 让C/C++图形程序独立运行
- windos下运用eclipse运行c/c++程序