如何让 CMake 对 CUDA 使用 clang 来支持 c++17

How to make CMake use clang for CUDA to support c++17

根据,可以通过 clang 将 c++17 与 cuda 结合使用。但是,我找不到如何设置 CMakeLists.txt 来完成此操作。

我用

启用c++17
add_compile_options(-std=c++17)

开箱即用

    enable_language(CUDA)

nvcc抱怨

nvcc fatal   : Value 'c++17' is not defined for option 'std'

按照建议添加以下内容here

    set(CUDA_HOST_COMPILER clang++)
    set(CMAKE_CUDA_COMPILER /usr/bin/clang++)

clang投诉

clang: error: language not recognized: 'cu'

尝试

set(CMAKE_CXX_STANDARD 17)