使用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项 见图:
注意:上面所有的paramiters 第一个字符必须是空格.
设置完成之后,编译工程只要这样做:
Tools-->选择qmake -project,等待完毕-->选择qmake ,等待完毕-->选择minGW-make,等待完毕.
这就完成了编译.
注意:所有源代码必须放在工程的根目录下.
你还要配制环境变量:
在path中加: E:QTin;E:CodeBlocksMinGWin
当然,以上都是绝对路径,你需要改成你电脑上的路径.
http://zxwmail.blog.163.com/blog/static/120947384201091911557185/