项目中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