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

时间:2021-07-25 19:01:26

使用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:\QT\bin;E:\CodeBlocks\MinGW\bin

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

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