簡體   English   中英

Clang-Cl 不能指定 c++17

[英]Clang-Cl can't specify c++17

我正在使用 clang CL 和 cmake 為 Visual Studio 編譯 cmake 項目。 我正在實施的 c++ 代碼需要 c++17 標准,但 clang 默認為 Z713E352B2339794742CCZ5。 我嘗試使用以下命令:

cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_CXX_COMPILER="D:/VS/VC/Tools/Llvm/bin/clang-cl.exe" -Xclang -std=c++17 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..

但是當我檢查 cmake 文件的 output 時,它仍然只使用 c++14。

我的 cmakelists.txt 包含以下內容:

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CXX_FLAGS
    " ${CMAKE_CXX_FLAGS}"
    CACHE STRING "compile flags" FORCE)

project(kfr CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)

我正在使用 clang CL 和 cmake 為 Visual Studio 編譯 cmake 項目。 我正在實施的 c++ 代碼需要 c++17 標准,但 clang 默認為 Z713E352B2339794742CCZ5。 我嘗試使用以下命令:

cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_CXX_COMPILER="D:/VS/VC/Tools/Llvm/bin/clang-cl.exe" -Xclang -std=c++17 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..

但是當我檢查 cmake 文件的 output 時,它仍然只使用 c++14。

我的 cmakelists.txt 包含以下內容:

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CXX_FLAGS
    " ${CMAKE_CXX_FLAGS}"
    CACHE STRING "compile flags" FORCE)

project(kfr CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)

暫無
暫無

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

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