我想使用谷歌C++测试,我完全是初学者cmake和gtest。Cmake和Gtest
我有一个叫Filter的类,它使用了一个叫做jane的3d聚会库。
对于这种情况我有一个cmakeFile这很好地建立我的项目如下:
cmake_minimum_required(VERSION 3.1.2)
project(Filter)
include(../../../cmake/CMakeMacros.txt)
set_variables()
#add 3rdparty libraries
add_jane()
#add framework libraries
add_framework_libs(
ip/Image
)
include_directories(
../include
${FW_INCLUDE_DIRS}
)
#set project's source and include files
set(INCS
../include/${PROJECT_NAME}.h
../include/${PROJECT_NAME}.tpp
../include/FilterMask.h
)
set(SRCS
../src/${PROJECT_NAME}.cpp
../src/FilterMask.cpp
)
#set link directories
link_directories(
${FW_LIBRARY_DIRS}
)
#build project as static library (*.lib)
add_library(${PROJECT_NAME} STATIC
${INCS}
${SRCS}
)
#link libraries against project
target_link_libraries(${PROJECT_NAME}
${FW_LIBRARIES}
)
#if a test executable should be build
if(Test_BUILD_EXAMPLES)
#build test executable
add_executable(${PROJECT_NAME}Test
../src/main.cpp
)
#link library against executable
target_link_libraries(${PROJECT_NAME}Test
${PROJECT_NAME}
)
endif(Test_BUILD_EXAMPLES)
而且我有这个cmake的文件https://github.com/snikulov/google-test-examples/blob/master/CMakeLists.txt阅读https://github.com/snikulov/google-test-examples这个简单的教程,并试图重新建立我的项目相结合这些cmake文件在一起(可能非常愚蠢),但是我无法实现它。
问题是,当我想用一个头文件测试一个简单的项目时,我可以使用这个cmake文件,但只要我尝试测试包含第三方库的项目时,就会遇到不同的错误。
有人可以告诉我如何编辑一个正确的cmake文件来测试我的项目与googleTest使用cmake文件!
你可能想看看[这个答案](HTTP: //stackoverflow.com/a/31622855/1938798),为您的构建带来gtest的替代方法,而不是该教程中的方法。通过链接到的文章还有一个关于github的相关项目,它有一个完整的工作示例。至于你的链接问题,如果你显示了你得到的实际错误,这将允许更具体的诊断你的根本问题。同样很奇怪的是,您的项目似乎正在从项目外的其他目录中提取等。 –