diff options
-rw-r--r-- | googlemock/src/gmock_main.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/googlemock/src/gmock_main.cc b/googlemock/src/gmock_main.cc index 89c8183..18c500f 100644 --- a/googlemock/src/gmock_main.cc +++ b/googlemock/src/gmock_main.cc @@ -48,13 +48,20 @@ void loop() { RUN_ALL_TESTS(); } #endif #else -#if __MSC_VER + +// MS C++ compiler/linker has a bug on Windows (not on Windows CE), which +// causes a link error when _tmain is defined in a static library and UNICODE +// is enabled. For this reason instead of _tmain, main function is used on +// Windows. See the following link to track the current status of this bug: +// https://web.archive.org/web/20170912203238/connect.microsoft.com/VisualStudio/feedback/details/394464/wmain-link-error-in-the-static-library +// // NOLINT +#if GTEST_OS_WINDOWS_MOBILE # include <tchar.h> // NOLINT GTEST_API_ int _tmain(int argc, TCHAR** argv) { #else GTEST_API_ int main(int argc, char** argv) { -#endif // __MSC_VER +#endif // GTEST_OS_WINDOWS_MOBILE std::cout << "Running main() from gmock_main.cc\n"; // Since Google Mock depends on Google Test, InitGoogleMock() is // also responsible for initializing Google Test. Therefore there's |