Cuda cmake支持C++17

项目中cuda的编译需要使用到C++17的特性,但是自己在设置C++17的时候,一直不生效,最后找到一种生效的方式

1. 设置CMAKE_CUDA_STANDARD

cmake_minimum_required(VERSION 3.19)

project(demo)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CUDA_STANDARD 17)

结果不行

2. 设置nvcc编译选项

cmake_minimum_required(VERSION 3.19)

project(demo)

set(CMAKE_CXX_STANDARD 17)
set( CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}" "-std=c++17" )

结果OK

你可能感兴趣的:(Cuda,c++,开发语言)