编译cuda代码时出现unsupported GNU version! gcc versions later than 8 are not supported!

ubuntu20.04系统中,正常使用nvcc编译cuda代码用得还是很方便快乐的。
但有一天想写一个像模像样的工程的时候,尝试用c++调用cuda代码的时候,却出现了下面这样的报错。

In file included from /usr/include/cuda_runtime.h:83,
                 from <command-line>:
/usr/include/crt/host_config.h:138:2: error: #error -- unsupported GNU version! gcc versions later than 8 are not supported!
  138 | #error -- unsupported GNU version! gcc versions later than 8 are not supported!
      |  ^~~~~
CMake Error at main_generated_cudaHeader.cu.o.cmake:220 (message):

这是因为在写CMakeLists.txt的时候使用了cuda_add_library或者cuda_add_executable.
根据前面这篇文章的描述,3.9版本以上的CMakeLists.txt就不再需要用cuda_add_library了,像普通的c++代码一样,仍然使用add_library和add_executable就可以。
https://zhuanlan.zhihu.com/p/105721133
需要做特殊处理的是需要在project语句上指定编程语言

project(projName CXX CUDA)

下面是CMakeLists.txt写法的简单例子。

#cmake的最小版本
cmake_minimum_required(VERSION 3.2)
#工程名称
project(main CXX CUDA)
#添加库目录
include_directories(./cudaFolder)
#添加cuda的子目录
add_subdirectory(cudaFolder)
#添加可执行文件
add_executable(main main.cpp)
#链接cuda的库目录 
target_link_libraries(main cudaLib)

cudaFolder里面的CMakeLists.txt

#寻找cuda的库
find_package(CUDA REQUIRED)
#添加cuda函数的静态库
add_library(cudaLib STATIC cudaSource.cu)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值