VS2019中CMake项目怎么指定语言标准
博主前几天在使用c++17新特性结构绑定时报错了,代码如下:
#include<bits/stdc++.h> using namespace std; int main() { unordered_map<int, int> mmid; for (auto [a, b] : mmid) { cout << a << ' ' << b << endl; } return 0; }
后来查了一下发现CMake项目默认的c++语言标准是低于17的,所以就得指定一下语言版本才行。
有两种设置方法。第一种可以设置默认使用最新的语言标准。代码如下,添加到CMakeLists.txt文件中即可。
if (MSVC_VERSION GREATER_EQUAL "1900") include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("/std:c++latest" _cpp_latest_flag_supported) if (_cpp_latest_flag_supported) add_compile_options("/std:c++latest") endif() endif()
不过上面的方法太过于繁琐,不过没关系还有第二种更简洁的方法,只需要一行代码就可搞定。
set(CMAKE_CXX_STANDARD 17)
这样就能执行使用c++17这个标准了。如果想使用其他版本的语言标注,将17替换成对应版本即可。
PS:特别注意,添加上诉代码一定要放在CMakeLists文件的开头位置,不然是无效的。
cmake指定c++编译版本
修改 CMakeLists.txt 文件,添加如下命令
SET(CMAKE_C_COMPILER "/home/public/local/bin/gcc")
SET(CMAKE_CXX_COMPILER "/home/public/local/bin/g++")
Cmake编译使用C++11
cmake编译项目需要C++11特性的支持,只需要在CMakeLists.txt中加入:
add_definitions(-std=c++11)
这篇文章就介绍到这了,希望大家以后多多支持小牛知识库。
主要内容:1、创建项目,2、添加源文件,3、编写代码并运行程序,总结继《 VS2019下载地址和安装教程》之后,本节给大家讲解如何用 VS2019 编写并运行 C 语言程序。 例如,在 VS2019 中编写并运行如下 C 语言代码: 需要经历如下几步操作。 1、创建项目 打开 VS2019,进入如下界面: 图 1 VS2019启动界面 选择“继续但无需代码”,会进入 VS 的主界面,如下图所示: 图 2 VS2019主界面 在菜单中依次选择“文件->新建->项目”
我试图用Visual Studio 2010和Cygwin在Windows 7 x64上运行cmake hello world程序,但这两个程序似乎都无法运行。我的目录结构如下: 我执行<code>cd build</code>,然后执行<code>cmake.</code>,并得到一个错误,说明 但是,如果我在filsystem和中将main.cpp的扩展名更改为main. c,则一切都按预期运
C 语言的指针常常被人们认为是 C 语言中的灵魂所在,可以完成很多高难度的操作。但是更多的人感觉 C 语言的指针的存在如同噩梦一般,因为稍不注意,就会引起灾难性的后果。 不管你是不是喜欢 C 语言中的指针,我们都要学习这种看起来很神奇的东西。因为指针这个概念不是 C 语言首创的,而是苏联的计算机科学家首创的。 1. 什么是指针? 指针是什么?这是来自灵魂的拷问。其实指针也是一种变量。我们之前也说过
对于iOS项目的Cmake集成,没有很好的教程。互联网上找到的信息很少,但信息滞后。我有一个C项目,我想为我的iOS项目交叉编译它。我真的不是C和Cmake主题的专家。尽管如此,我还是关注了一个博客,这正是我想要的。 如博客中所述,我使用工具链来执行 Cmake 命令 它生成了<代码>。目录中的xcodeproj。 按照指示,我将生成的Xcode解决方案包含到我的主要iOS项目中,并将C项目添加到
Go语言项目 所有的编程语言都反映了语言设计者对编程哲学的反思,通常包括之前的语言所暴露的一些不足地方的改进。Go项目是在Google公司维护超级复杂的几个软件系统遇到的一些问题的反思(但是这类问题绝不是Google公司所特有的)。 正如Rob Pike所说,“软件的复杂性是乘法级相关的”,通过增加一个部分的复杂性来修复问题通常将慢慢地增加其他部分的复杂性。通过增加功能、选项和配置是修复问题的最快
我正在使用Intellij 14.0.2