This looks like you've got a mismatch in your choice of C Runtime and C++ Standard Libraries.
You can choose between the static (.lib) or shared (DLL) versions of these using the compiler switches/MT
, /MTd
, /MD
or /MDd
. MT
variants indicate the static libraries, and MD
the shared. The d
appendix indicates the debug versions of each.
These can be set in Visual Studio by going to Project => Properties => Configuration Properties => C/C++ => Code Generation => Runtime Library
The problem appears to be that your project uses /MD
and /MDd
, but that GMock and Gtest were built with/MT
and /MTd
. You need to recompile GMock/Gtest with the /MD
and /MDd
flags, or change yours to /MT
and /MTd
.
I had similar problem: Solution: Release version Properties: configuration properties>c/c++>General>Warning level>level4(/W4) Properties: configuration properties>code generation>runtime library : multi-threaded(/Mt) Properties: configuration properties>Precompiles header:Not using precompiled headers
Debug version Properties: configuration properties>c/c++>General>Warning level>level4(/W4) Properties: configuration properties>code generation>runtime library : multi-threaded(/MTd) Properties: configuration properties>Precompiles header:Not using precompiled headers
From: http://stackoverflow.com/questions/13279015/what-libraries-do-i-need-to-link-to-build-a-googlemock-example