VS2019中CMake項(xiàng)目如何指定c++語(yǔ)言標(biāo)準(zhǔn)
VS2019中CMake項(xiàng)目怎么指定語(yǔ)言標(biāo)準(zhǔn)
博主前幾天在使用c++17新特性結(jié)構(gòu)綁定時(shí)報(bào)錯(cuò)了,代碼如下:
#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; }
后來(lái)查了一下發(fā)現(xiàn)CMake項(xiàng)目默認(rèn)的c++語(yǔ)言標(biāo)準(zhǔn)是低于17的,所以就得指定一下語(yǔ)言版本才行。
有兩種設(shè)置方法。第一種可以設(shè)置默認(rèn)使用最新的語(yǔ)言標(biāo)準(zhǔn)。代碼如下,添加到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()
不過(guò)上面的方法太過(guò)于繁瑣,不過(guò)沒(méi)關(guān)系還有第二種更簡(jiǎn)潔的方法,只需要一行代碼就可搞定。
set(CMAKE_CXX_STANDARD 17)
這樣就能執(zhí)行使用c++17這個(gè)標(biāo)準(zhǔn)了。如果想使用其他版本的語(yǔ)言標(biāo)注,將17替換成對(duì)應(yīng)版本即可。
PS:特別注意,添加上訴代碼一定要放在CMakeLists文件的開(kāi)頭位置,不然是無(wú)效的。
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編譯項(xiàng)目需要C++11特性的支持,只需要在CMakeLists.txt中加入:
add_definitions(-std=c++11)
這篇文章就介紹到這了,希望大家以后多多支持腳本之家。
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)系統(tǒng)關(guān)機(jī)注銷功能
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)系統(tǒng)關(guān)機(jī)注銷功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02關(guān)于C語(yǔ)言多線程pthread庫(kù)的相關(guān)函數(shù)說(shuō)明
下面小編就為大家?guī)?lái)一篇關(guān)于C語(yǔ)言多線程pthread庫(kù)的相關(guān)函數(shù)說(shuō)明。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05C語(yǔ)言實(shí)現(xiàn)定時(shí)器控制LED燈閃爍
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)定時(shí)器控制LED燈閃爍,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05詳解C語(yǔ)言中的內(nèi)存四區(qū)模型及結(jié)構(gòu)體對(duì)內(nèi)存的使用
這篇文章主要介紹了C語(yǔ)言中的內(nèi)存四區(qū)模型及結(jié)構(gòu)體對(duì)內(nèi)存的使用,包括結(jié)構(gòu)體中內(nèi)存泄漏情況的注意點(diǎn)提醒,需要的朋友可以參考下2016-03-03C++實(shí)現(xiàn)英文句子中的單詞逆序輸出的方法
這篇文章主要介紹了C++實(shí)現(xiàn)英文句子中的單詞逆序輸出的方法,涉及C++字符串遍歷、分割、截取、輸出等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01C語(yǔ)言實(shí)現(xiàn)按行讀寫(xiě)文件
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)按行讀寫(xiě)文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11