QtTest:moc文件将不会生成
QtTest: moc file will be not generated
我正在尝试用QTTest构建一个简单的单元测试。文件MyTest.cpp看起来像:
#include <QtTest/QtTest>
class MyTest : public QObject {
Q_OBJECT
private slots:
void test() {
QVERIFY( true );
}
};
QTEST_MAIN( MyTest )
#include "mytest.moc"
现在我已经创建了一个简单的专业文件来生成可执行文件。但是在构建它时,编译器找不到创建的文件mytest.moc,因为它不是创建的。当我不能手动使用moc编译器时,一切都很好。
专业文件看起来像:
QT +=testlib
TEMPLATE = app
TARGET = unittests
INCLUDEPATH += .
# Input
SOURCES += MyTest.cpp
有人知道我错过了什么吗?我使用的是VS2010、QT5.1和Windows7。
提前感谢,Kim
我在Linux上也遇到过类似的问题。包含的moc文件未重新生成,因此与测试用例不匹配。原因是我混合了影子构建和源代码构建,而影子构建中包含的moc实际上是源代码构建中停滞的moc。
这种情况下的解决方案是从源代码内构建中删除moc文件,然后在影子构建中强制重建(clean然后build)测试类。它触发moc文件的重新生成,之后所有测试都正常运行。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- moc 文件中缺少信号插槽
- 如何让锐化器++忽略Qt moc文件
- 由于QT MOC,将标题包括在标题文件中
- 移动了 QT 项目,重命名文件夹和项目名称,Moc'ing 返回"'-I'之后缺少值"
- 如何使用CMAKE生成MOC _*.CPP文件
- make没有生成moc文件
- QtTest:moc文件将不会生成
- CMake 和 Qt :moc 文件的目录/清理规则
- QT moc.exe生成空文件,错误涉及type_traits
- Visual Studio 每次运行 qmake 时都会重新编译"moc"文件
- Visual Studio 2012 不会生成 moc 文件
- QObject创建moc文件,但仍然得到虚函数表错误
- 编译 moc 文件 Qt 4.5.2 intrin.h 意外类型 "void" Visual Studio 2015
- VS2013中的MOC文件生成
- Qt - moc 文件相关错误