CUDA版本X抱怨不支持gcc版本Y-怎么办?

CUDA版本X抱怨不支持gcc版本Y-怎么办?,gcc,cuda,compatibility,Gcc,Cuda,Compatibility,这个问题是关于一个特定的版本组合,但更普遍地说是相关的 我刚从Kubuntu 12.04升级到14.04。现在,当我想编译CUDA代码(使用CUDA 6.5)时,我得到: 我安装了gcc-4.8(和4.7),并尝试使用此处建议的-/usr/local/cuda/bin解决方案中的符号链接: 但这不起作用。我该怎么办?切换回支持的配置。它们列在最近CUDA发行版的入门文档中 对于您当前列出的特定配置,CUDA 7 RC现在可供注册开发人员使用,您可能会更幸运。此解决方案与CUDA和GCC版本的多

这个问题是关于一个特定的版本组合,但更普遍地说是相关的

我刚从Kubuntu 12.04升级到14.04。现在,当我想编译CUDA代码(使用CUDA 6.5)时,我得到:

我安装了gcc-4.8(和4.7),并尝试使用此处建议的-
/usr/local/cuda/bin解决方案中的符号链接:


但这不起作用。我该怎么办?

切换回支持的配置。它们列在最近CUDA发行版的入门文档中

对于您当前列出的特定配置,CUDA 7 RC现在可供注册开发人员使用,您可能会更幸运。

此解决方案与CUDA和GCC版本的多种组合相关


您可以告诉CUDA的
nvcc
使用特定版本的gcc。因此,假设您希望GCC4.7与CUDA6一起使用。您运行:

sudo apt-get install gcc-4.7 g++-4.7
然后将以下开关添加到
nvcc
命令行:

nvcc --compiler-bindir /usr/bin/gcc-4.7  # rest of the command line here
如果您使用CMake进行构建,请在将CUDA查找到
CMakeLists.txt
之前添加适当的设置,例如:

set(CUDA_HOST_COMPILER /usr/bin/gcc-4.7)  # -> ADD THIS LINE <-
find_package(CUDA)

set(CUDA_HOST_COMPILER/usr/bin/gcc-4.7)#->添加这一行您经常会发现,当您遇到此问题时,CUDA已经有了。例如,问题的最初表述是关于CUDA 6和GCC 4.9;CUDA7支持GCC4.9。CUDA8支持GCC5.x。等等。

我对CUDA Toolkit 7.5和gcc 5.2.1也有类似的问题

我确实修改了
/usr/local/cuda/include/
中的
host\u config.h
文件:

只需删除检查gcc版本的行。它确实解决了我的问题


达伦·加维(Darren Garvey()

我不能从我的系统中删除gcc 4.9,也不能因为像这样的小问题而降低发行版的级别……我切换到了7,它工作得很好,并且支持4.9。尽管你可能需要更新到ubuntu 14.10。它还有c++11,非常棒。这样做没有任何副作用,是吗?我没有注意到任何东西。一切似乎都在运转fine@Conchylicultor:CUDA 7.x和GCC 5.x之间存在多个已知的不兼容。删除版本检查是不明智的。@einpoklum可能,我想他们设置这个限制是有原因的,但是这个黑客对我来说非常有效。出于好奇,例如,什么是不兼容?某些标准库构造的神秘编译失败;奇怪的链接问题,我忘记了细节,因为我没有提交一个关于它们的错误。我有Cuda7.5,得到了与Caffe问题相同的错误!不太可能。也许您在更新版本的gcc中遇到了类似的错误?CUDA7.5支持GCC4.9,但不支持GCC5.x。好吧,我有GCC5.x,我想说我也有error@MonaJalal:是时候升级到CUDA 8了。
set(CUDA_HOST_COMPILER /usr/bin/gcc-4.7)  # -> ADD THIS LINE <-
find_package(CUDA)