Cmake无法找到Gmock的包

时间:2018-04-09 15:15:46

标签: cmake googletest

我是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包吗?

0 个答案:

没有答案