2016-04-23 15 views
0

ネイティブテストプロジェクトと既存のプロジェクトを同じソリューションでリンクしようとしています。 #include私はテストしようとしているクラスのヘッダへのパスを書いています。CppUnitTest Windowsアプリケーションへのリンク

私はテストエクスプローラでテストを実行すると、私はエラーを構築し得る:

Error 1 error LNK2019: unresolved external symbol "public: __thiscall DataManager::DataManager(void)" ([email protected]@[email protected]) referenced in function "public: void __thiscall MyProject.Tests::UnitTest1::TestMethod1(void)" ([email protected]@[email protected]@QAEXXZ) D:\Documents\VisualStudio2013\Projects\MyProject\MyProject.Tests\DataManagerTests.obj MyProject.Tests

私はプロジェクトまたは静的ライブラリを.dllをするネイティブのテストプロジェクトをリンクする方法の異なる例を見つけましたが、いないWindowsアプリケーションに。

本当にありがとうございます。

#include "stdafx.h" 
#include "CppUnitTest.h" 

#include "D:/Documents/VisualStudio2013/Projects/MyProject/DataManager.h" 
using namespace Microsoft::VisualStudio::CppUnitTestFramework; 

namespace VideoFaceRecognitionIPCATests 
{  
    TEST_CLASS(UnitTest1) 
    { 
    public: 

     TEST_METHOD(TestMethod1) 
     { 
      DataManager dataManager = DataManager(); 
      Assert::AreEqual(0, 0); 
     } 

    }; 
} 

答えて

0

リンク入力ファイルオプションにDataManager.libファイルを追加する必要があります。プロジェクトを右クリックし、プロパティに移動してリンカ入力エントリを選択します。 .libを追加の依存関係に追加し、必要に応じてパスを指定します(またはプロジェクトに.libファイルを追加します)。

+0

MyProjectのlibファイルですか? DataManagerは私がテストしたいクラスです。 Btw MyProjectフォルダにlibファイルが見つかりません。 – code4fun

+0

DataManagerプロジェクトが静的または動的ライブラリプロジェクトであると仮定します。そうすれば、ユニットテストプロジェクトで参照される必要がある.libファイルが生成されます。 –

関連する問題