我是Cmake和Gtest的新手。我在CMake中遇到了问题
find_package(GMock REQUIRED)
和
target_link_libraries(runtest ${GMOCK_BOTH_LIBRARIES} pthread).
当我构建项目时,CMake无法找到GMock包。
但是当我提到库的绝对路径时,它工作正常。
例如:
set(GMOCK_INCLUDE_DIRS /usr/local/include/gmock)
set(GMOCK_BOTH_LIBRARIES /usr/local/lib/libgmock.a /usr/local/lib/libgmock_main.a /usr/local/lib/libgtest.a /usr/local/lib/libgtest_main.a)
现在问题是我的主管建议我找到仅使用查找包运行代码的解决方案。在做了一些研究之后,我开始知道Cmake模块中缺少FindGMock.cmake
文件。我添加了它并使用find_package()
再次运行代码,但它仍无效。
错误是对Gmock和Gtest功能的未定义参考。
例如:
undefined reference to `testing::Message::Message()'.
undefined reference to testing::internal::GetBoolAssertionFailureMessage.
undefined reference totesting::internal::AssertHelper::~AssertHelper()'
像这样有太多错误。
有人可以解释一下,如何让CMake自动找到GMock包吗?