Windows10에서 Gtest 및 Gmock을 사용하는 데 문제가 있습니다. 나는 보통 리눅스에서 일하지만 윈도우로 전환하고 문제를 겪고 싶다.Windows에서 Gtest 및 Gmock 사용
나는 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 ++ 명령에서 뭔가를 변경해야합니까?
내가 붙여 넣은 경로가 좋고 파일이 있습니다 (그렇지 않으면 오류가 달라집니다).
무엇이 여기에 있습니까?
좋아, 문제를 해결했습니다. Visual Studio로 라이브러리를 컴파일 한 다음 G ++와 함께 사용할 수 없다는 것이 밝혀졌습니다. 다른 접근 방식으로 전환해야했고이 동영상은 매우 도움이되었습니다. https://www.youtube.com/watch?v=y9sGAF1k63o&list=PL0SUKxlBaq1COi52nuq2lPf6AbMRrn2LI&index=7 – YotKay