2017-04-21 10 views
0

私は(コンパイル)Googleテストを使用しようとしていますが、問題があります。Googleテスト - 2つの異なるプロジェクトを使用すると未定義のリフェラル

私は1つのexeプロジェクトと、もう1つのプロジェクト(google unit test)があり、最初のプロジェクトのいくつかのクラスのテストがあります。

私からの情報を使用しようとしました

  1. EXEプロジェクト名:テスター

  2. 、Googleのテストプロジェクト(EXE)名:GoogleTestTester

    • gtest_srcフォルダ(GTESTが含まれています)
    • TestElementフォルダ(私のテストクラスを含む)
    • Test1.cpp:

    テスト( MyAppTtests、name) { CElement * pElm = new CElement();

    //.. 
    

    }

    私は(GoogleTestTesterプロジェクトに)リンクエラーを取得しています

:未定義の参照をCElementに:: CElement()

  • 私はCElement」を含んでいます。 h "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::CElement()CElement.hに宣言しても、CElement.cppには定義しないでください。

これは役に立たない場合:CElementファイルの2つのセット(Tester/srcに1セット、GoogleTestTester/TestElementにこのセットのコピーが2セットあるようです)。多分、コピーが分岐していて、あなたが編集したものがもう一方のセットではないかもしれません。

関連する問題