我正在尝试使用GTests将CMake集成到我的项目中。我跟踪了这个,得到了以下错误:
Undefined symbols for architecture x86_64:
"SomeClass::someMethod()", referenced from:
someMethod_TrivialTest_Test::TestBody() in SomeClassTest.cpp.o
ld: symbol(s) not found for architecture x86_64
这是我的CMake文件:
cmake_minimum_required(VERSIO
我正在使用MS Visual Studio 2017构建一个单元测试项目。我链接了'gtest.lib‘并包含了头文件。在使用::testing::FLAGS_xxx行时,我无法编译该项目。无法确定如何解决此错误或在何处查找。当未使用::testing::FLAGS_xxx参数时,我检查了gtest.lib是否已链接并正常工作。我的问题类似于https://github.com/google/googletest/issues/2145。尝试了此解决方案,但这没有帮助。 我用的代码。 #include "gtest/gtest"
int main(int argc,
我正在尝试从源代码编译gtest (而不是使用已安装的版本)。我正在做一个基于catkin的cmake项目。
我已经将中的源代码添加到我的工作区中,并将该文件夹包含在add_subdirectory中。
然而,我得到了一个现有的gtest的名称鞭打:
CMake Error at src/test_env/GTest/googletest/cmake/internal_utils.cmake:151 (add_library):
add_library cannot create target "gtest" because another target with the
我试图使用GoogleTest测试一个简单的函数,但是当我在构建文件夹中运行make时,编译器会向我抛出Undefined Reference错误消息。我引用了gtest头文件,所以我不知道哪里出了问题。有什么想法吗?我对unix和单元测试的整个主题都很陌生,所以我很可能错过了一些简单的东西。提前感谢!
错误信息:
CMakeFiles/Proj2.dir/main.cpp.o: In function `main':
main.cpp:(.text+0x1e): undefined reference to `testing::InitGoogleTest(int*, char**)
我正尝试在单元测试中使用GMock。但是链接失败,并出现下一个错误:
In function `testing::internal::linked_ptr_internal::depart()':
/home/user/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:127: undefined reference to `testing::internal::g_linked_ptr_mutex'
In function `testing::internal::linked_ptr_interna
在设置我最近的项目时,我尝试使用GoogleTest。目前,我有以下内容:
macro(add_test_l TEST_NAME)
# Create the executable and use the last arguments as source files.
add_executable(${TEST_NAME} ${ARGN})
# Link in the AMR and gtest libraries.
target_link_libraries(${TEST_NAME}
${PROJECT_NAME}
gtest
有一个现成的项目。在其中一个cmake文件中有一个源代码:
find_package(GTest REQUIRED)
if (NOT GTest_FOUND)
message(FATAL_ERROR "Cannot find Google Test Framework!")
endif()
给出错误:“找不到Google测试框架!”
如何修复错误?
现在,我正在使用c++设置一个CMake测试环境。实际上,我已经意识到我想要做什么,但是我对两种不同的测试输出风格感到困惑。在下面的例子中,“让测试”实际上做什么?我认为“make”和“./Test/Test”输出是相同的,但并不完全相同。“googletest”输出与googletest输出风格不同。虽然测试结果看起来是一样的,但我对这些输出并不满意。
输出差
$ make test
Running tests...
Test project /path/to/sample/build
Start 1: MyTest
1/1 Test #1: MyT