无法使用Google Test,Clang和libc ++构建测试

时间:2012-11-02 15:52:18

标签: c++ cmake clang googletest libc++

我尝试使用以下CMake配置构建Google Test:

$ CMAKE_CXX_COMPILER="clang++" CMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -U__STRICT_ANSI__" cmake ../source

构建显示CMake选择了正确的编译器,但我的编译器标志没有通过:

$ VERBOSE=1 make
...
/Users/jfreeman/local/bin/clang++    -I/Users/jfreeman/work/googletest/source/include -I/Users/jfreeman/work/googletest/source      -DGTEST_HAS_PTHREAD=1   -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /Users/jfreeman/work/googletest/source/src/gtest-all.cc
...
/Users/jfreeman/local/bin/clang++    -I/Users/jfreeman/work/googletest/source/include -I/Users/jfreeman/work/googletest/source      -DGTEST_HAS_PTHREAD=1   -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -c /Users/jfreeman/work/googletest/source/src/gtest_main.cc

最终目标是我希望我的项目(使用Clang和libc ++构建)使用Google Test构建测试。这意味着我还需要使用libc ++构建的Google Test。

1 个答案:

答案 0 :(得分:11)

在CMake的命令行上使用变量有时需要-D(用于定义)标志。

    $ cmake -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -U__STRICT_ANSI__"  ../source