あなたのプロジェクトは、同じバージョンのCランタイムライブラリ(CRT)を使用して構築されていることを確認する必要があります。 Googleテスト(現在v1.6.0)は2つのVisual Studioソリューションファイルを提供しています。静的バージョンを使用するgtest-1.6.0\msvc\gtest.sln
と、動的(dll)バージョンを使用するgtest-1.6.0\msvc\gtest-md.sln
があります。既定では、Visual Studioを使用して作成されたプロジェクトはdllバージョンを使用します。
プロジェクトでCRTの静的または動的バージョンを使用するかどうかを決定する必要があります。
静的バージョンを使用するようにプロジェクトを設定するには、Project->Properties
にアクセスし、ウィンドウの左上にある[設定:Debug
]を選択します。次に同じウィンドウでConfiguration Properties
- >C/C++
- >Code Generation
を選択します。 Runtime Library
のオプションはMulti-threaded Debug (/MTd)
である必要があります。 >Linker
- - >Input
あなたは、あなたはGTESTの適切なバージョンにリンクしていることを確認、そのConfiguration Properties
を選択する必要があります。 gtestライブラリのデバッグバージョン(例:C:\gtest-1.6.0\msvc\gtest\Debug\gtestd.lib
)へのフルパスを指定して、Additional Dependencies
フィールドを編集します。
は、リリースの設定のためにもう一度同じことを行いますが、Multi-threaded (/MT)
にRuntime Library
オプションを設定し、GTESTライブラリー(例えばC:\gtest-1.6.0\msvc\gtest\Release\gtest.lib
)のリリースバージョンへの完全なパスを提供します。あなたはCRTのDLLバージョンを使用することを決定した場合
、gtest-1.6.0\msvc\gtest-md\...
いうよりgtest-1.6.0\msvc\gtest\...
になりますGTEST-MDライブラリへMulti-threaded Debug DLL (/MDd)
とMulti-threaded DLL (/MD)
、およびリンクを選択します。
同じランタイムライブラリ構成を使用してすべてのものを構築する必要がある方法にリンクした回答をお読みになりましたか?一部のパーツのように聞こえるようになっているエラーは、非デバッグランタイムとデバッグランタイムを使用してビルドされたものを使用して構築されます。 –