小编Dom*_*nic的帖子

CMake 无法设置 CUDA 标准 c++17

我正在使用 CMake 配置 CUDA/C++ 项目。使用 NVCC 编译的某些文件需要 C++ 17 功能。为了启用这些,我将使用:

cmake_minimum_required(VERSION 3.19)
project(RISA LANGUAGES CXX CUDA)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CUDA_STANDARD 17)
Run Code Online (Sandbox Code Playgroud)

这会导致错误消息:

Target "RISA" requires the language dialect "CUDA17" (with compiler extensions), but CMake does not know the compile flags to use to enable it.

仔细检查CMAKE_CUDA_COMPILE_FEATURES变量揭示了cuda_std_03 cuda_std_11 cuda_std_14。出于某种原因,CMake 似乎不知道 C++14 以后有关 CUDA 的任何内容。

我正在运行 ubuntu 20.04

  • NVCC 11.2
  • 海湾合作委员会 10.1.0
  • CMake 3.19.6

我该怎么做才能使用此设置配置和编译 C++17?

我知道这个问题 - 但是仅使用 C++14 编译 cuda 文件的解决方案对我来说并不够。

c++ cuda cmake c++17

3
推荐指数
1
解决办法
5480
查看次数

标签 统计

c++ ×1

c++17 ×1

cmake ×1

cuda ×1