如何将Google Test库链接到CLion项目(Mac OS X El Capitan)

时间:2016-04-05 11:12:16

标签: c++ cmake googletest osx-elcapitan clion

我正在尝试将我的项目与google C ++测试框架相关联。我使用的是Mac OS X El Capitan,我在默认路径中安装了测试库。

lib

/usr/local/lib/libgtest_main.a
/usr/local/lib/libgtest.a

include(对于标题):

/usr/local/include/gtest

我创建了一个新的CLion(2016.1.1)项目,这是应该包含lib的CMakeList.txt

cmake_minimum_required(VERSION 3.5)
project(GoogleTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(GoogleTest ${SOURCE_FILES})
target_link_libraries(GoogleTest gtest gtest_main)

结果如下:

Scanning dependencies of target GoogleTest
[ 50%] Building CXX object CMakeFiles/GoogleTest.dir/main.cpp.o
[100%] Linking CXX executable GoogleTest
ld: library not found for -lgtest
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [GoogleTest] Error 1
make[1]: *** [CMakeFiles/GoogleTest.dir/all] Error 2
make: *** [all] Error 2

我该如何解决这个问题?提前致谢

2 个答案:

答案 0 :(得分:1)

看起来/usr/local/lib不在编译器的库路径列表中。尝试在target_link_libraries中指定库的完整路径。

target_link_libraries(GoogleTest /usr/local/lib/libgtest.a /usr/local/lib/libgtest_main.a)

答案 1 :(得分:0)

由于您可能有多个项目,具体取决于不同的GoogleTest版本,您可能希望避免将测试库集中安装为构建系统。

Here is an example setup,其中包含相关项目中的所有依赖项。