小编sel*_*osi的帖子

让CMake CHECK_CXX_COMPILER_FLAG工作

注意:这是我第一次使用CMake.我不太了解它,所以我只是发布一堆信息,看看是否有人能看到我的问题.

在我的编译器中,我希望能够自动确定哪个c ++ 11标志是合适的.这条线有很多例子.以下是我的CMakeLists.txt以下示例:

cmake_minimum_required (VERSION 2.8)

#Add the c++11 flag, whatever it is
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-std=c++11 COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG(-std=c++0x COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
  message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

project(AnalyzeGames)
set(AnalyzeGames_SRCS AnalyzeGames.cpp)
add_executable(AnalyzeGames ${AnalyzeGames_SRCS})
Run Code Online (Sandbox Code Playgroud)

尝试使用此文件时,这是我的cmake输出:http://pastebin.com/3AUwqffD

这是CMakeError.log:http://pastebin.com/EbNKvGt8

这是CMakeOutput.log:http://pastebin.com/kVJ0enJC

echo $CC:/ usr/bin/gcc

echo $CXX:/ usr/bin/g ++

我可以手动使用任一标志用g ++编译一个简单的测试可执行文件.

cmake --version:cmake版本2.8.12.2

出于某种原因,CMake没有意识到我的编译器确实支持这两个标志.

cmake

8
推荐指数
1
解决办法
5688
查看次数

标签 统计

cmake ×1