问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何写cmake使其包含c++11特性

发布网友 发布时间:2022-04-24 19:44

我来回答

1个回答

热心网友 时间:2022-05-27 10:43

直接测试新写法:
[plain] view plain copy
<pre name="code" class="plain">#CMakeLists.txt
project(test)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})

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()

测试c++11代码
[cpp] view plain copy
//test.cc
#include <iostream>
#include<vector>
using namespace std;
int main()
{
const std::vector<int>v(1);
auto a = v[0];//a为int类型
cout <<"a : "<< a <<endl;
decltype(v[0]) b = 0;//b为const int&类型,即std::vector<int>::operator[](size_type)const的返回类型
auto c = 0;//c为int类型
auto d = c;//d为int类型
decltype(c) e;//e为int类型,c实体的类型
decltype((c)) f = e;//f为int&类型,因为(c)是左值
decltype(0) g;//g为int类型,因为0是右值
return 0;
}

所以,不同版本的gcc给指定c++11支持设定了不同的标志,也就说老版本支持-std=c++0x的写法,新版本用-std=c++11的写法。以上程序就是判断本机的g++该使用那种输出版本。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
好玩的网游排名前十名 最简单的网游有哪些 ...风景模式、微距模式和夜晚风景模式的设置特点 鹰的重生的作品目录 记忆重构黄色轮盘密码锁密码是什么 解锁方法介绍 性感甜心轮盘游戏介绍 ...锁屏圆形壁纸教程介绍_抖音时间锁屏圆形壁纸教程是什么 时间轮盘姓氏怎么设置介绍_时间轮盘姓氏怎么设置是什么 家常牛排好吃又嫩的做法 怎样做家常牛排好吃又嫩 352口腔综合有哪些 猜猜他是谁作文写男生的 怎样设定cmake中的cmake Linux下gcc/g++,make和cmake的区别 Cmake和VS分别是用来干什么的 如何运行cmake编译后的c代码 怎样生成cmake make makefile cmake qmake都是什么,有什么区别 如何使用CMAKE生成makefile文件 明湖居听书的关于此书 cmake很简单的故障问题,怎么解决 安装opencv必须要安装Cmake吗?Cmake是干什么的 CMake 如何入门? 明湖居听书的中心思想是什么 CMake和Make之间的区别 一,为什么用CMake Cmake是什么?有什么用?在WINDOWS下如何用 Cmake是什么?有什么作用?为什么要使用Cmake? 长江三峡大坝什么时候运营的? 长江三峡大坝是那年修建有多高多长 三峡大坝是谁建的? 什么时候。建成有什么困难? 长江三峡是什么时候建成的 CMake,configue出错,以下是错误信息。怎么弄? vs2010的。 一直租了好长时间的房子马上要拆迁,我要搬走,拆迁款和我有什么关系? 租房房屋拆迁租户是否有赔偿 如果租了三年的房子要拆迁,那拆迁款与我有没有关系? 如果租了一个房子,房子却突然要拆迁,那拆迁款跟租客有没有关系? 厂房拆迁租户有赔偿吗 拆迁对租户怎么赔偿 租赁的房子要拆迁,租户有赔偿吗? 现在的饮食习惯提倡少糖,少盐,饮食清淡对身体有多重要? 房子拆迁房东要给租客补偿吗 房子租了5年后面临拆迁,租客是否毫无关系? 租的房子要拆迁了,租户是否可以要求分配拆迁安置费? 房屋拆迁对租户有赔偿吗 饮食清淡重自然,真的对身体好吗? 房屋拆迁了租客可以得到赔偿吗 房屋拆迁,租户可以分到哪些补偿 早餐为什么要吃清淡的 租户是否能获得拆迁补偿款? 租赁的房子要拆迁,租户有赔偿吗 为什么提倡饮食清淡?