1. ホーム
  2. c++

[解決済み] Google C++ テストフレームワーク (gtest) を Visual Studio 2005 でセットアップする方法

2023-07-12 18:57:25

質問

Web サイトにドキュメントがなく、フレームワークのセットアップに問題があるようです。どなたか、サンプルプロジェクトのセットアップのためのステップバイステップの紹介を示すことができますか?

どのように解決するのですか?

Arlaharen が言ったことは基本的に正しいのですが、リンカーエラーについて説明している部分が抜けています。 まず第一に、アプリケーションをビルドする必要があります。 を使わずに ランタイムライブラリとしてCRTを使用しないアプリケーションを構築する必要があります。 これは、アプリケーションの配布を本当に単純化するため、常に行う必要があります。 これを行わない場合、すべてのユーザーが Visual C++ ランタイム ライブラリをインストールする必要があり、そうでないユーザーは自分のシステム上で謎の DLL が見つからないと不満を漏らすことになります...CRT を静的にリンクするのにかかる数百キロバイトの追加コストで、後のサポートにおける多くの頭痛を避けることができます(これについては私を信頼してください。)

とにかく、これを行うには、ターゲットのプロパティ -> C/C++ -> Code Generation -> Runtime Library で、Release ビルドでは "Multi-Threaded" として、Debug ビルドでは "Multi-Threaded Debug" に設定する必要があります。

gtest ライブラリも同じ方法でビルドされるため、正しいバージョンの それ さもないと、リンカーはランタイムライブラリの別のコピーを取り込み、これがあなたが見たエラーです(MFC を使用しているかどうかに関係なく、これは重要ではありません)。 gtestを以下のようにビルドする必要があります。 デバッグとリリース モードとしてビルドし、両方のコピーを取っておく必要があります。 そして、Release ビルドでは gtest.lib/gtest_main.lib に対してリンクし、Debug ビルドでは gtestd.lib/gtest_maind.lib に対してリンクします。

また、アプリケーションで、gtest のヘッダーファイルが格納されているディレクトリを指定していることを確認する必要があります (properties -> C/C++ -> General -> Additional Include Directories で確認できます)。ただし、リンカエラーになったということは、この部分をすでに正しく処理できていると考えられますし、さもなければ、最初に対処すべき多くのコンパイルエラーがあることになります。