У меня возникла проблема с запуском Gtest и Gmock в Windows10. Я обычно работаю в Linux, но хотел переключиться на Windows и столкнулся с проблемой.Работа с Gtest и Gmock на Windows
Мне удалось создать Gmock и Gtest в соответствии с документацией (с Cmake и Visual Studio). У меня есть файлы gmock.lib и gtest.lib в соответствующих каталогах. Но когда я хочу связать их с моей тестовой программой, я вижу десятки ошибок типа «неопределенная ссылка».
Команда, которую я использую:
g++ "-LC:\\Users\\jacek\\cpp\\googletest\\googlemock\\Debug" "-LC:\\Users\\jacek\\cpp\\googletest\\googlemock\\gtest\\Debug" -o HelloWorld "src\\counter.o" "src\\counter_test.o" -lgmock -lgtest
Ошибки, например:
C:\Users\jacek\workspace\HelloWorld\Debug/../src/counter_test.cpp:14: undefined reference to testing::Message::Message()' C:\Users\jacek\workspace\HelloWorld\Debug/../src/counter_test.cpp:14: undefined reference to testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)'
Я попытался найти на это и обнаружил, что, возможно, я должен построить разделяемые библиотеки. Я перестроил gmock и gtest с соответствующим вариантом, теперь у меня есть также файлы dll, но я получаю все те же ошибки.
Что я здесь делаю неправильно?
Возможно, проблема в том, что библиотеки linux называются иначе, чем на окнах? (libgmock.a vs gmock.lib) Должен ли я что-то изменить в команде на g ++ из-за этого?
Пути, которые я вставил, хороши, файлы есть (иначе ошибка будет другой).
Что мне здесь не хватает?
Хорошо, я решил проблему. Оказалось, что я не могу скомпилировать библиотеки с Visual Studio, а затем использовать их с G ++. Мне пришлось переключиться на другой подход, и это видео было очень полезно: https://www.youtube.com/watch?v=y9sGAF1k63o&list=PL0SUKxlBaq1COi52nuq2lPf6AbMRrn2LI&index=7 – YotKay