4

DLLのコードにGoogleTest/Mockを使用して単体テストを作成したいと思います。テストコードは私のDLLにコンパイルされることになっています。

私はGoogleTestPrimerでこれが可能であることを読みましたが、そのgtestはDLLにコンパイルする必要があります(そしてgmockにも同じことが当てはまると思います)。

フレームワークをコンパイルしてDLLとして使用し、最も重要なプロジェクト設定(VS2010を使用)と、結果のDLLを使用してテストを実行する方法を教えてくれる人はいますか?

4

2 に答える 2

3

GoogleTestとGoogleMockを.dllにコンパイルする必要はありません。

Runtime Libraryむしろ、それらを消費する(リンクする)プロジェクトと同じ設定でコンパイルする必要があるということです(/MDまたは/MT)。 ランタイムライブラリの設定

一貫性が鍵です!ライブラリ(LIBまたはDLL)をリンクするときはRuntime Library、プロジェクトと同じ設定にする必要があります(またはその逆)。

ランタイムライブラリオプション

同じCharacter Set設定を使用することをお勧めします。

于 2013-03-20T16:31:52.593 に答える
1

プリプロセッサフ​​ラグを設定します(プロパティ-> c / c ++->プリプロセッサ->プリプロセッサ定義)GTEST_CREATE_SHARED_LIBRARYを使用してGmockをdllとしてビルドし、gmockを消費するdllをGTEST_LINKED_AS_SHARED_LIBRARYでビルドします

于 2015-01-23T16:23:19.747 に答える