[bug] unsupported GNU version! gcc versions later than 12 are not supported!

报错

你的 nvcc 12.1 正在调用一个 GCC 13+ 的主机编译器,而 CUDA 12.1 默认只支持到 GCC 12。

先看你现在实际用的是谁:

bash 复制代码
which gcc
gcc --version
which g++
g++ --version

如果显示 13 或更高,就和报错一致。

先看系统里有没有 gcc-11:

bash 复制代码
which gcc-11
gcc-11 --version

如果有,就直接这样设:

bash 复制代码
export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
export CUDAHOSTCXX=/usr/bin/g++-11

如果没有,但有普通系统 gcc 且版本不高于 12

先看:

bash 复制代码
/usr/bin/gcc --version

然后用它:

bash 复制代码
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
export CUDAHOSTCXX=/usr/bin/g++

接着确认:

bash 复制代码
echo $CC
echo $CXX
$CC --version
$CXX --version

或者,装一套 gcc/g++ 12

bash 复制代码
conda install -n RMBench -c conda-forge gcc_linux-64=12 gxx_linux-64=12

装完后查:

bash 复制代码
conda activate envName
which x86_64-conda-linux-gnu-gcc
x86_64-conda-linux-gnu-gcc --version
which x86_64-conda-linux-gnu-g++
x86_64-conda-linux-gnu-g++ --version

后在编译前显式指定:

bash 复制代码
export CC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gcc
export CXX=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++
export CUDAHOSTCXX=$CXX
相关推荐
H.莓飛1 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla1 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
沫璃染墨2 小时前
从零入门计算机网络系列(十五):TCP可靠传输机制详解——从序号与确认应答到乱序处理
服务器·网络·c++·tcp/ip·tcp
拖累斯3 小时前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
寂寞的船4 小时前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
xyzzklk4 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
叼烟扛炮6 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
Android系统攻城狮13 小时前
Linux FFmpeg深度解析之avcodec_align_dimensions调用流程与实战(二十九)
服务器·linux音视频·音视频进阶·ffmpeg音视频
叼烟扛炮14 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery14 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器