Qt的“undefined reference to `vtable for”错误解决(手动解决,加深理解)

使用QT编程时,当用户自定义了一个类,只要类中使用了信号或槽. 
Code::Blocks编译就会报错(undefined reference to `vtable for). 

Google上有很多这个问题的回答,但很多说的很模糊,或者根本就不可行. 

其实,QT有自己的编译方法. 

不用IDE写一个类,QT的编译步骤是: 
1, cd 源代码目录 
2, qmake -project 
3, qmake project_name.pro 
4, make (如果你装的是minGW的话,就用minGW-make.exe) 

鉴于此,我们在Code::Blocks中Tools-->Config Tools-->add添加3项 见图: 

Qt的“undefined reference to 'vtable for”错误解决 - 千江月 - 千江月
 

 

Qt的“undefined reference to 'vtable for”错误解决 - 千江月 - 千江月

 

Qt的“undefined reference to 'vtable for”错误解决 - 千江月 - 千江月

 
注意:上面所有的paramiters 第一个字符必须是空格.

设置完成之后,编译工程只要这样做: 
Tools-->选择qmake -project,等待完毕-->选择qmake ,等待完毕-->选择minGW-make,等待完毕. 
这就完成了编译. 

注意:所有源代码必须放在工程的根目录下. 
你还要配制环境变量: 
在path中加: E:QTin;E:CodeBlocksMinGWin 

当然,以上都是绝对路径,你需要改成你电脑上的路径. 

http://zxwmail.blog.163.com/blog/static/120947384201091911557185/

原文地址:https://www.cnblogs.com/findumars/p/5599442.html