2014-10-01 49 views
0

这是我第一次在QT中制作模拟对象。我正在尝试使用Gmock,但我不知道如何使用它。 现在,我在QT中创建项目TestGmock(QT应用程序),并将gmock-1.7.0中的include文件夹(从https://code.google.com/下载)复制到TestGmock项目目录(和gtest相同)。在主类:在QT中配置gmock

#include <QCoreApplication> 
#include "gmock/gmock.h" 
#include "gtest/gtest.h" 
int main(int argc, char *argv[]) 
{ 
    testing::InitGoogleMock (&argc, argv); 
    return RUN_ALL_TESTS(); 
} 

但是错误:

  • C:\ Qt的\ Qt5.2.1 \工具\ QtCreator \ BIN \ TestGmock \ main.cpp中:6:错误:未定义参考`测试:: InitGoogleMock(int *,char **)'
  • C:\ Qt \ Qt5.2.1 \ Tools \ QtCreator \ bin \ TestGmock \ gtest \ gtest.h:2288:error:未定义对`testing :: UnitTest的引用:: GetInstance()'
  • C:\ Qt \ Qt5.2.1 \ Tools \ QtCreator \ bin \ TestGmock \ gtest \ gtest.h:2288:error:undefined引用到`testing :: UnitTest :: Run()' collect2.exe:-1:
  • 错误:错误:LD返回1个退出状态

使用gmock和GTEST在QT,请帮帮我。

+0

我使用3.0.1 – 2014-10-01 03:27:55

回答

0

这个错误是由于Qt Creator无法找到Gmock库造成的。没有必要将它放到你的项目(或Qt安装)目录中,但是你应该在.pro文件中添加INCLUDEPATHLIBS选项。看看Adding external library into Qt Creator project

+0

我尝试使用 INCLUDEPATH + = C窗7和Qt Creator:\ gmock \ GTEST \包括\和 INCLUDEPATH + = C:\ gmock \包括:i萃取\ (gmock夹来自gmock-1.7.0)但它不好。 – 2014-10-01 04:40:41

+0

当我包括路径,但另一个错误:错误:没有规则使目标'../TestGmock/gmock/gmock.h','调试/ main.o'需要。停止。 – 2014-10-01 04:47:48

+0

您是否尝试过手动调用'qmake'并重建您的项目?在发布模式下是否会发生错误? – trivelt 2014-10-01 06:50:55