У меня проблема с запуском Gtest и Gmock в Windows10. Обычно я работаю в Linux, но хотел переключиться на 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 называются иначе, чем в Windows? (libgmock.a vs gmock.lib) Должен ли я изменить что-то в команде на g++ из-за этого?
Пути вставил хорошие, файлы есть (иначе ошибка была бы другая).
Что мне здесь не хватает?