2017-04-21 49 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中。也許這些副本有分歧,你編輯了一套,但沒有編輯。