簡體   English   中英

VS2017跨平台項目未設置C++17為語言標准

[英]VS2017 Cross platform project does not set C++17 as language standard

我正在使用VS 2017 v.15.9開發跨平台應用程序。 目標系統上安裝了GCC v 8+ ,根據文檔,它支持C++ 17

但由於某種原因, c++語言標准在我的應用程序中堅決停留在C++ 14上。

我轉到項目屬性 - > C/C++ - > 語言並將 C++ 語言標准明確設置為C++ 17 ,它在選擇列表中可用,但這並沒有改變任何東西。

__cpluscplus在許多標題中設置為201406L ,而不是201703L ,我需要打開C++ 17提供的一些功能。

據我了解,這個宏是保留的,而且是由編譯器設置的? 在這種情況下,除了嘗試在 VS Project 設置中更改此設置(此設置可用)之外,還需要做什么?

一些報告稱這個“錯誤”(未正確設置__cplusplus宏的值)已得到修復。 但是,如果您的安裝似乎沒有該修復,那么您可以在編譯器的命令行上為每個項目顯式設置/Zc:__cplusplus選項。

打開項目的“屬性”頁面(在“解決方案資源管理器”中右鍵單擊項目)並導航到“C/C++”->“命令行”並在“附加選項”編輯框中添加該開關,如下圖:

在此處輸入圖像描述

(此屏幕截圖實際上來自 VS-2019,但 IIRC,UI 與 VS-2017 中的非常相似。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM