Linux 无法使用sudo命令编译cuda

Linux 无法使用sudo命令编译cuda,linux,cuda,compilation,nvcc,Linux,Cuda,Compilation,Nvcc,我试着用nvcc编译cuda程序,但用sudo命令。首先,它找不到nvcc编译器,所以我按照建议做了,并在secure_path中列出的一个目录中创建了一个指向nvcc的符号链接,如下所示:sudo ln-s/path/to/nvcc/sbin/nvcc 但现在我正在尝试编译并不断得到以下错误:nvcc致命:未指定libdevice库的路径 我猜这与LD_LIBRARY_PATH变量有关,该变量在root模式下设置不正确,但我找不到解决方法。 有什么想法吗?不仅要像您那样提供nvcc的完整路径,

我试着用nvcc编译cuda程序,但用sudo命令。首先,它找不到nvcc编译器,所以我按照建议做了,并在secure_path中列出的一个目录中创建了一个指向nvcc的符号链接,如下所示:sudo ln-s/path/to/nvcc/sbin/nvcc

但现在我正在尝试编译并不断得到以下错误:nvcc致命:未指定libdevice库的路径

我猜这与LD_LIBRARY_PATH变量有关,该变量在root模式下设置不正确,但我找不到解决方法。
有什么想法吗?

不仅要像您那样提供nvcc的完整路径,还要提供其他依赖项,如库,即:

--dont-use-profile -ldir <path to your cuda_sdk/nvvm/libdevice/ > -I<path to your cuda_sdk/include/ dir> -L<path to your cuda_sdk/lib64/ dir>
--不要使用profile-ldir-I-L

解决方案基于,有关nvcc命令行参数的说明,请参见

LD_LIBRARY_PATH与编译无关。它是一个运行时指令,用于操作系统在应用程序启动时确定在何处加载共享库。谢谢