gpt4 book ai didi

c++ - Fedora 上的 CUDA 编译失败

转载 作者:行者123 更新时间:2023-11-28 00:43:13 25 4
gpt4 key购买 nike

在我的新 Fedora19 系统上安装 CUDA 5.0 之后,我发现 CUDA 5.5 是更好的选择,因为它采用 rpm 格式。我按照找到的安装说明进行操作 here ,一切都很顺利,直到我尝试编译示例。首先,它将示例安装到/usr/local/cuda/samples,我必须确保我的 LD_LIBRARY_PATH 包含/usr/local/cuda/lib(不仅仅是 5.5 版本),但随后我得到以下两个当我尝试运行“make all”命令时出错。

../../common/inc/exception.h: In constructor ‘Exception<Std_Exception>::Exception()’:
../../common/inc/exception.h:129:94: warning: delegating constructors only available with -std=c++11 or -std=gnu++11 [enabled by default]
Exception<Std_Exception>::Exception() :

我以为 C++11 是默认版本?然后,当我开始尝试编译 matrixMulDrv 时,我收到以下毫无意义的错误:

/usr/local/cuda-5.5/bin/nvcc -ccbin g++   -m64        -o matrixMulDrv matrixMulDrv.o  -L/usr/lib64/nvidia -lcuda
/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status

我想知道是否还有其他人遇到过这种性质的问题。我已经升级到 5.5,这样我就可以使用当前的 gcc 编译器 (4.8.1)。当我查看/usr/lib64/nvidia 时,我看到了我认为需要的所有文件,包括 libcuda.so.1。有没有人看过这个?

最佳答案

关于第一个问题:

../../common/inc/exception.h: In constructor ‘Exception<Std_Exception>::Exception()’:
../../common/inc/exception.h:129:94: warning: delegating constructors only available with -std=c++11 or -std=gnu++11 [enabled by default]
Exception<Std_Exception>::Exception() :

这些消息只是警告,因此编译应该仍会继续而不会出现问题。

关于第二个问题:

/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status

查看/usr/lib64/nvidia 并确保 libcuda.so 和 libcuda.so.1 符号链接(symbolic link)均存在并指向 libcuda.so.[您的驱动程序版本]。

在我的安装中,/usr/lib64/nvidia/libcuda.so 符号链接(symbolic link)没有创建,无论出于何种原因。如果你的也丢失了,那么输入(作为 root):

ln -s /usr/lib64/nvidia/libcuda.so.VERSION /usr/lib64/nvidia/libcuda.so

VERSION 替换为您的 nvidia 驱动程序的版本号(例如 libcuda.so.319.32)。

这是否解决了您的问题?

关于c++ - Fedora 上的 CUDA 编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com