在linux中编译CUDA代码,获取错误:cutil_inline.h:没有这样的文件或目录

在linux中编译CUDA代码,获取错误:cutil_inline.h:没有这样的文件或目录,linux,path,cuda,Linux,Path,Cuda,代码是在windows中开发的,但是当我在linux下使用nvcc编译代码时,它给出了错误: cutil_inline.h:没有这样的文件或目录 我的机器中的路径是: # User specific aliases and functions export PATH=/usr/local/cuda/bin:/usr/local/NVIDIA_GPU_Computing_SDK:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/lo

代码是在windows中开发的,但是当我在linux下使用
nvcc
编译代码时,它给出了错误:

cutil_inline.h:没有这样的文件或目录

我的机器中的
路径是:

# User specific aliases and functions

export PATH=/usr/local/cuda/bin:/usr/local/NVIDIA_GPU_Computing_SDK:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/NVIDIA_GPU_Computing_SDK:$LD_LIBRARY_PATH
缺少的文件
cutil_inline.h
已在包“NVIDIA_GPU_Computing_SDK”中

我怎样才能解决这个问题


您的友好回复对我来说非常重要。

此处不适用
路径
LD\u库路径
环境变量。您需要修改linux编译命令(使用
nvcc
)以包含一个编译器开关,告诉编译器在哪里可以找到
cutil\u inline.h
文件:

nvcc -I/path/to/cutil_inline.h/file (....remainder of compile command line)

您可能还必须指定其他include path(
-I
)开关以及库和库路径开关(
-l
-l
)来告诉链接器在哪里可以找到合适的cutil库。(路径
PATH
LD_LIBRARY_PATH
在这里也不适用。)您可能希望查看一些CUDA示例中包含的make文件,以了解相关的cutil头文件和库是如何正确引用的。

嗨,罗伯特·克罗维拉,谢谢您的友好回复。我使用了“nvcc-I/path/to/cutil_inline.h/file lbm.cu-lm”,但得到与“cutil_inline.h:没有这样的文件或目录”相同的错误。“我给的那条路是假的。你应该把正确的目录路径放在那里。请编辑您的问题以显示:1。您当前使用的完整的
nvcc
命令行2。到
cutil_inline.h
file1.nvcc-arch=sm_20 lbm.cu-o main 2./usr/local/NVIDIA_GPU_Computing_SDK/C/common/inc/cutil_inline.h的完整目录路径。然后使用这个nvcc命令行:
nvcc-arch=sm_20-I/usr/local/NVIDIA_GPU Computing_SDK/C/common/inc lbm.cu-o main
,正如我提到的,您可能需要包括一些额外的开关,如
-L/usr/local/NVIDIA\u GPU\u Computing\u SDK/C/common/lib-lcutil
或类似的东西[fanshiwei@meresgpumrt\U lbm\U gpu]$nvcc lbm.cu-I/usr/local/NVIDIA_GPU_Computing_SDK/CUDALibraries/common/inc-lm包含在lbm.cu:15:lbm_kernel.h:52:8文件中:警告:在#endif指令/usr/local/NVIDIA_GPU_计算_SDK/CUDALibraries/common/inc/cutil_inline_runtime.h(329)末尾的额外令牌:错误:未定义标识符“CURAND_STATUS\u DOUBLE\u PRECISION”