C++链接错误:未定义的引用Undefined Reference to

原因

出现这种情况的原因,编译为obj文件的时候并不需要函数的具体实现,只要有函数的原型即可。但是在链接为可执行文件的时候就必须要函数的具体实现了,故而该错误那就是找不到函数的原型

解决办法

1、如果是动态库或者静态库中的函数,则需要检查是否将库链接(检查路径),若已经库链接,但还是有问题,则检查是否各个依赖库的顺序不对。编译的时候,如果文件a依赖于文件b,那么编译的时候必须把a放前面,b放后面。

2、函数或变量所在的库,没有添加到link_directories,需要在CMakeLists.txt里面添加

3、模板函数或者模板类数据没有实例化,也可能导致这个问题,需要指定模板,对模板函数或模板类做实例化

4、一定要检查你include的路径是否对,很多这种问题。以为添加了,实际找到不到指定的路径,某些参数就为空,需要message输出检查一下

5、检查头文件是否引用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部