我在Windows10上開始使用Gtest和Gmock時遇到問題。我通常在Linux上工作,但想切換到Windows並遇到問題。在Windows上使用Gtest和Gmock
我設法根據文檔(使用Cmake和Visual Studio)構建Gmock和Gtest。我在適當的目錄中有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