2017-04-21 47 views
0

我想使用(编译)谷歌测试,但有麻烦。谷歌测试 - undefined rerefence当使用2个不同的项目

我有1个exe项目和另一个项目(谷歌单元测试),其中有一些类的第一个项目的测试。

我试图使用从信息: C++ unit test start guide, how to set up Google Test

我有2个C++在我的工作区项目:

  1. Exe项目名称:测试仪

    • src文件夹包含CElement.cpp,CElement.h,Main.cpp
  2. 谷歌测试项目(EXE)名称:GoogleTestTester

    • gtest_src文件夹(包含GTEST)
    • TestElement文件夹(包含我的测试类)
    • Test1.cpp:

    测试( MyAppTtests,name) CElement * pElm = new CElement();

    //.. 
    

    }

我收到链接错误(在GoogleTestTester项目):以CElement未定义参考:: CElement()

  • 我已经包括“CElement。 h“in Test1.cpp
  • 在项目属性中,我包含TestElement文件夹的路径(其中包含CElement.h文件)

我该如何解决?

+0

[如何用Google测试测试EXE?](http://stackoverflow.com/questions/23088252/how-to-test-an-exe-with-google-test)可能有重复 –

回答

0

让测试项目编译CElement.cpp并将生成的对象链接到测试可执行文件中。

如果这没有帮助,或者如果你已经这样做了,那么也许你申报CElement.hCElement::CElement(),但不CElement.cpp定义它。

如果这样做没有帮助:您的描述听起来像是有两套CElement文件 - 一套在Tester/src中,另一套在GoogleTestTester/TestElement中。也许这些副本有分歧,你编辑了一套,但没有编辑。