我正在浏览旧的 Trolltech Qt 教程,因为我发现它们比新的教程更有帮助,并且undefined reference to vtable
当我到达一个实现它自己的信号的类小部件时,我遇到了错误。
http://doc.trolltech.com/4.0/tutorial-t7.html http://doc.trolltech.com/4.0/tutorial-t7.html
我没有将代码分开,而是将它们全部复制到同一个中.cpp
为了方便。
我一探究竟,发现vtable错误是由未定义的虚函数引起的。但是,除了代码分离之外,我没有省略教程代码中的任何内容。省略Q_OBJECT
宏来自lcdrange.h
以及插槽和信号似乎使项目可以编译。我认为这是void valueChanged(int newValue);
at lcdrange.h
这引起了大惊小怪,但教程没有提供定义。我确信他们不会发布不起作用的代码,所以我一定做错了什么。我正在使用 C::B(MinGW) 如果这意味着什么的话。我也是 C++ 新手。
MOC 必须为 lcdrange.h 生成代码,并且必须编译和链接生成的代码。
qmake 确保 HEADERS 变量中列出的所有头文件都是如此。
确保 lcdrange.h 列在 .pro 文件的 HEADERS 部分中,然后重新运行 qmake。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)