首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QtTest:将不会生成moc文件

QtTest:将不会生成moc文件
EN

Stack Overflow用户
提问于 2013-11-28 09:40:04
回答 1查看 5K关注 0票数 4

我正在尝试用QTTest构建一个简单的单元。文件MyTest.cpp看起来像:

代码语言:javascript
复制
#include <QtTest/QtTest>

class MyTest : public QObject {
    Q_OBJECT

private slots:
    void test() {
        QVERIFY( true );
    }
};

QTEST_MAIN( MyTest )
#include "mytest.moc"

现在我已经创建了一个简单的pro文件来生成可执行文件。但是,在构建它时,编译器无法找到创建的文件mytest.moc,因为它是创建的。当我能手动使用moc编译器时,一切都很好。

这个亲文件看起来像:

代码语言:javascript
复制
QT +=testlib
TEMPLATE = app
TARGET = unittests
INCLUDEPATH += .

# Input
SOURCES += MyTest.cpp

有没有人知道,我错过了什么?我正在使用VS2010、QT5.1和Windows7。

提前谢谢你,金

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 15:16:46

我在Linux上也遇到了类似的问题。所包含的moc文件没有重新生成,因此与测试用例不匹配。原因是我把影子构建和源代码构建混合在一起,在影子构建中包含的moc实际上是源内构建中停滞的一个。

在这种情况下,解决方案是从源代码构建中删除moc文件,然后强制在阴影构建中强制重新构建(清理然后构建)测试类。它会触发moc文件的重新生成,然后所有测试都将正常运行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20262477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档