gcc或g++编译链接时报undefined reference to “xxx”
2024-06-28
68
问题描述
最近写一个小工具,在使用gcc或g++命令编译链接时,总是报“undefined reference to xxx的错误,确认了一边找不到的符号,在链接的一个动态库中是存在的,折腾了好久,找到了问题的原因,记录备忘,供大家参考。
解决方法
一般原因
一般出现“undefined reference to xxx”,是由于链接时,缺少xxx函数实现的目标文件(.o),或动态库、静态库,这种情况,只需要在链接的命令中加入xxx函数实现的目标文件、动态库或静态库就可以解决了。
C++调用C API
如果缺少的xxx函数是在一个.c源文件中实现,或者在一个导出标准C api的动态库中实现,在C++中调用这个函数时,需要在该函数申明的签名加上extern “C” 才能链接成功。这主要原因是C++与C语言的函数封装不同导致,这里就不再做深入讨论。
更新于:4个月前赞一波!3
相关文章
- c++运行时报错误:there is a mismatch in alloc and dealloc
- git push时报remote rejected shallow update not allowed 的问题
- Linux编译内核模块时报: linux/scripts/recordmcount: No such file or directory
- 编译Linux内核模块时报:WARNING: Symbol version dump "Module.symvers" is missing.
- C/C++使用gcc或g++编译报错:error: parameter ‘xxx’ set but not used [-Werror=unused-but-set-parameter]
- QT编译时报错 error: lnk1158: cannot run 'rc.exe'
- Vue为什么要禁用undefined?
- linux中Qt编译时报错:qwt_dial.h: No such file or directory
- 逆战2024年3月拼团活动-爆炎双铳 1员拼团链接
- 自建的nuget Server推送时报错:Response status code does not indicate success: 406 (Not Acceptable)
- .NET6 NUnit运行测试报错xxx, Could not find testhost
- Centos Linux中链接器ld的版本更新
- linux中gcc/g++编译时报错 fatal error: codecvt: No such file or directory
- vscode通过Remote-SSH插件连接Linux时报Error: XHR failed错误
- 友情链接全站使用修改方法
- 整合DZ论坛注册链接跳转到齐博注册页面
- asp,PHP,js网址链接下载保存到桌面,方便用户访问
文章评论
评论问答