【问题标题】:Trouble building tests with Google Test, Clang, and libc++使用 Google Test、Clang 和 libc++ 构建测试时遇到问题
【发布时间】:2012-10-23 07:37:19
【问题描述】:

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

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

Building 显示 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。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我必须添加 -DCMAKE_CXX_FLAGS="... -DGTEST_USE_OWN_TR1_TUPLE=1" 才能使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2016-04-25
    • 1970-01-01
    相关资源
    最近更新 更多