web-dev-qa-db-ja.com

`-std = c ++ 11`をCMakeListsに渡しますか?

Qt Creatorをインストールしたばかりで、C++ 11構文を使用しています。

残念ながら、自分のプロジェクトをビルドしようとすると、次のようになります。

/usr/include/c++/4.8/bits/c++0x_warning.h:32: error:
      #error This file requires compiler and library support for the ISO C++ 2011
             standard. This support is currently experimental, and must be
             enabled with the -std=c++11 or -std=gnu++11 compiler options.
      #error This file requires compiler and library support for the \
       ^

次に、「Tupleのメンバーではないstd」のような一連のエラーが表示されます。

私のCMakeLists.txtには以下が含まれます:

project(routing_tests)
set(QMAKE_CXXFLAGS "-std=c++11")
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})

編集:問題を示す小さなテストケース https://Gist.github.com/anonymous/817107

16
A T

main.cpp

#include <iostream>
#include <Tuple>

int main() {
    auto foo = std::make_Tuple("bar", "foo", "can");
    std::cout << std::get<0>(foo) << std::get<1>(foo) << std::get<2>(foo);
} 

CMakeLists.txt

project(Tuple_tests)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# C++14: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
37
lpapp