0

我正在尝试编译带有自己的 makefile 的代码(不是我的;使用 C 与 cuda 通信),我收到以下错误消息:

icc  -fPIC  -vec-report1 -g  -O3 -fno-strict-aliasing -DNDEBUG -I. -I/include -DUNIX -DCPU_RECOMPUTE=1 -DFULL_DOUBLE=0 -c classify_functions.cpp -o classify_functions.o

classify_functions.cpp(4): catastrophic error: cannot open source file "cuda_runtime.h"
  #include <cuda_runtime.h>
                           ^

compilation aborted for classify_functions.cpp (code 4)

make: *** [classify_functions.o] Error 4

我使用“定位”并检查 /usr/local/cuda/include/cuda_runtime.h 是否存在;然后我尝试在变量 PATH、LD_LIBRARY_PATH 和 C_INCLUDE_PATH 中将它添加到我的 .bashrc 中,但似乎没有任何效果。icc头文件的路径是否还有另一个变量?如果不是,为什么编译器不能打开文件?

(我可以提供更多信息,但我真的不知道在这种情况下什么是相关的)

4

1 回答 1

0

在 Linux(可能还有 MacOS)中,编译器包含路径是*

/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/include

库路径是

/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/lib

所以您只需要确保该cuda_runtime.h文件(以及其他必要的头文件)在编译器路径中。

*假设Intel的编译器icc安装正确,安装路径保持默认。

于 2017-11-09T16:46:24.930 回答