From 3957b8898b589fd335971e1bfc5aa5d886a131e5 Mon Sep 17 00:00:00 2001 From: Krystian Kuzniarek Date: Wed, 27 Nov 2019 15:01:03 +0100 Subject: [PATCH] Revert "remove MSVC workaround: wmain link error in the static library" This reverts commit 298a40f023e6813d2bf73847c3a38ceaf5e46320. --- googlemock/src/gmock_main.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/googlemock/src/gmock_main.cc b/googlemock/src/gmock_main.cc index 89c81831..18c500f6 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 // 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