最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VS2019中CMake項目如何指定c++語言標準

 更新時間:2020年02月14日 21:35:49   作者:江小舉  
這篇文章主要介紹了VS2019中CMake項目如何指定c++語言標準,需要的朋友可以參考下

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;
}

后來查了一下發(fā)現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)

這樣就能執(zhí)行使用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)

這篇文章就介紹到這了,希望大家以后多多支持腳本之家。

相關文章

  • c++ STL容器總結之:vertor與list的應用

    c++ STL容器總結之:vertor與list的應用

    本篇文章對c++中STL容器中的vertor與list的應用進行了詳細的分析解釋。需要的朋友參考下
    2013-05-05
  • C語言中cJSON的使用

    C語言中cJSON的使用

    JSON是一種輕量級的數據交換格式,常用于在網絡之間傳輸數據,本文主要介紹了C語言中cJSON的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • C++?STL標準庫之std::list使用介紹及用法詳解

    C++?STL標準庫之std::list使用介紹及用法詳解

    std::list是支持常數時間從容器任何位置插入和移除元素的容器,下面這篇文章主要給大家介紹了關于C++?STL標準庫之std::list使用介紹及用法詳解的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • DevC++如何自定義頭文件并使用

    DevC++如何自定義頭文件并使用

    文章介紹了如何在DevC++中自定義頭文件并使用,首先創(chuàng)建一個項目,然后新建一個頭文件并編寫代碼,保存后創(chuàng)建一個源文件并將其放在項目目錄下
    2024-11-11
  • MATLAB實現五子棋游戲(雙人對戰(zhàn)、可悔棋)

    MATLAB實現五子棋游戲(雙人對戰(zhàn)、可悔棋)

    這篇文章主要為大家詳細介紹了MATLAB實現五子棋游戲,可以進行雙人對戰(zhàn)、也可悔棋,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • C語言的sleep、usleep、nanosleep等休眠函數的使用

    C語言的sleep、usleep、nanosleep等休眠函數的使用

    本文主要介紹了C語言的sleep、usleep、nanosleep等休眠函數的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 讓應用程序只運行一個實例的實現方法

    讓應用程序只運行一個實例的實現方法

    我們在使用《360軟件管家》時發(fā)現,在《360軟件管家》已經運行了的情況下,再次點擊《360軟件管家》的圖標,那么它不會再運行另外一個《360軟件管家》,而是將已有的《360軟件管家》給激活,始終只能運行一個《360軟件管家》的實例
    2013-05-05
  • C語言實現輸出鏈表中倒數第k個節(jié)點

    C語言實現輸出鏈表中倒數第k個節(jié)點

    這篇文章主要介紹了C語言實現輸出鏈表中倒數第k個節(jié)點,主要涉及鏈表的遍歷操作,是數據結構中鏈表的常見操作。需要的朋友可以參考下
    2014-09-09
  • C++函數重載的深入解析

    C++函數重載的深入解析

    在C++中,我們也能夠把具有相同功能的函數整合到一個函數上,而不必去寫好多個函數名不同的函數,這叫做函數的重載。以下是對C++中的函數重載進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • matlab遺傳算法求解車間調度問題分析及實現源碼

    matlab遺傳算法求解車間調度問題分析及實現源碼

    這篇文章主要為大家介紹了matlab遺傳算法求解車間調度問題解析,文中附含詳細實現源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02

最新評論

沙坪坝区| 普安县| 黄浦区| 黔西| 双桥区| 栖霞市| 曲沃县| 昌都县| 会泽县| 峨山| 屏东市| 和政县| 松滋市| 无棣县| 东城区| 青浦区| 合山市| 思南县| 通河县| 沙坪坝区| 康马县| 安陆市| 日喀则市| 舟山市| 黄大仙区| 申扎县| 梁平县| 梁河县| 汤阴县| 黔东| 如皋市| 靖江市| 大名县| 祥云县| 西华县| 龙江县| 望奎县| 闻喜县| 通化县| 象州县| 鄢陵县|