То, что сказал Арлахарен, было в основном правильным, за исключением того, что он пропустил ту часть, которая объясняет ваши ошибки компоновщика. Прежде всего, вам нужно собрать ваше приложение без CRT в качестве библиотеки времени выполнения. Вы всегда должны делать это в любом случае, так как это действительно упрощает распространение вашего приложения. Если вы этого не сделаете, то всем вашим пользователям понадобится установленная библиотека времени выполнения Visual C ++, а те, кто этого не сделает, будут жаловаться на то, что в их системе отсутствуют таинственные библиотеки DLL ... на дополнительные несколько сотен килобайт, которые стоит связать в CRT статически, вы избавляете себя от головной боли позже в поддержке (поверьте мне в этом - я научился этому нелегко!).
В любом случае, чтобы сделать это, вы переходите к свойствам цели -> C / C ++ -> Генерация кода -> Библиотека времени выполнения, и ее нужно установить как «Многопоточный» для вашей сборки выпуска и «Многопоточный». Отладка "для вашей сборки отладки.
Поскольку библиотека gtest создается таким же образом, вам нужно убедиться, что вы ссылаетесь на правильную версию it , иначе компоновщик извлечет другую копию библиотеки времени выполнения, которая это ошибка, которую вы видели (кстати, это не должно иметь значения, если вы используете MFC или нет). Вам необходимо собрать gtest в режиме в режимах Debug и Release и сохранить обе копии. Затем вы ссылаетесь на gtest.lib / gtest_main.lib в вашей сборке выпуска и gtestd.lib / gtest_maind.lib в вашей сборке отладки.
Кроме того, вам необходимо убедиться, что ваше приложение указывает на каталог, в котором хранятся файлы заголовков gtest (в свойствах -> C / C ++ -> General -> Additional Include Directories), но если вы попали в ошибку компоновщика , Я предполагаю, что вам уже удалось исправить эту часть, иначе у вас было бы намного больше ошибок компиляции, чтобы сначала разобраться.