我在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