qt cmake undefined reference to `vtable for MainWindow‘

在Ubuntu+catkin_make上qt开发时碰到以下错误:

错误提示:

undefined reference to `vtable for MainWindow'

可能原因:

(1)路径位置错误,源文件的目录结构有问题,查看CmakeLists看看目录结构是不是对的 !!!

看其他博客说目录有问题,但我一直感觉自己的目录应该没有问题,还是太相信自己了。

查CmakeLists是否位置正确

file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS  include/*.hpp *.h)

(2)查cpp文件中的头文件包含路径是否正确

(3)当然了还有一种可能就是未添加Q_OBJECT

(4)如果头文件已经包含,检查是否有 .c 或者 .cpp 文件

 (5)是不是 cpp 调用 c,如果是,需要使用extern "C"告诉编译器这部分代码按C语言(而不是C++)的方式进行编译

#ifdef __cplusplus
extern "C"{
#endif

//add your c code

#ifdef __cplusplus
}
#endif

参考自:

Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to `vtable for MainWindow'的解决办法 - kingofloong - 博客园 (cnblogs.com)

 https://www.cnblogs.com/BANLOONG/p/11570829.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值