QT4+MinGW+CodeBlocks 中添加Q_OBJECT宏引起"undefined reference to 'vtable for XXX' "的问题解决方法

QT4+MinGW+CodeBlocks 中添加Q_OBJECT宏引起"undefined reference to 'vtable for XXX' "的问题解决方法
  首先,确定已经使用 Tools > Configure tools... 配置好了两个工具: qmake –pro, qmake

 

qmake –pro 配置如下:


注意:
“-project”前有个空格。

qmake 配置如下:



其次,在创建工程时,把输出文件目录中的
bin(和obj)都去掉,直接用DebugRelease作为输出目录,如下图。(该步骤为可选)                                        []

 

 

1.       依次运行qmake –pro, qmake

2.       Project > Properties > Project settings中选中”This is a custom Makefile”

3.       如果编译的文件是GUI类型,在Project > Properties > Build targets中将Type设置为”GUI application”

4.       Project > Properties > Build targets中将Output filename由原本的 ”bin\debug\projectname.exe” 改成 ”debug\projectname.exe”(如果在创建工程时执行了带[★]的那步,则该步不需要执行,否则必须执行。)

5.       Project > Build Options中,分别选择Debug - ”Make” commandsRelease - ”Make” commands,做如下修改:

Clean project/target: $make -f $makefile $target-clean

   

6.       运行Build,即可生成可执行文件。

注意:在Code::Blocks中调试Qt程序时,最好使用Qt官网提供的那个mingw,否则可能由于版本的原因出现不能调试的情况。 

你可能感兴趣的:(QT4+MinGW+CodeBlocks 中添加Q_OBJECT宏引起"undefined reference to 'vtable for XXX' "的问题解决方法)