3

我制作了一个makefile来编译我的文件:

CFLAGS        = -O3 -Wall -I /usr/local/cuda/include/ 
NVCCFLAGS     = -O3 -arch sm_20
LDFLAGS       = -O3 -L/usr/local/cuda/lib64 -lcudart
EXE           =  runAPP

app.o:app.cu
$(NVCC) $(NVCCFLAGS) -c $< -o $(CPPFLAGS) $(LIB_PATH) $(LDFLAGS) $@

$(EXE): app.o 
    $(NVCC) $(NVCCFLAGS) $(CFLAGS) $(LDFLAGS) -o $@  $(CPPFLAGS) $(LIB_PATH) app.o  \
        -lANN_char -lz
    cp $@ ../bin

但我遇到了这个问题:

app.cpp:26:26:错误:cuda_runtime.h:没有这样的文件或目录 app.cpp:27:18:错误:cuda.h:没有这样的文件或目录

这就是我将它们包含在 app.cpp 中的方式:

#include <cuda.h>
#include <cuda_runtime.h>

为什么会出现这个问题?

我在谷歌上搜索,他们说 app.cpp 必须始终是 app.cu,是真的吗?

提前致谢。

4

1 回答 1

4

如果你的makefile,你有:

CFLAGS        = -O3 -Wall -I /usr/local/cuda/include/ 
NVCCFLAGS     = -O3 -arch sm_20
LDFLAGS       = -O3 -L/usr/local/cuda/lib64 -lcudart
EXE           =  runAPP

app.o:app.cu $(NVCC) $(NVCCFLAGS) -c $< -o $(CPPFLAGS) $(LIB_PATH) $(LDFLAGS) $@

CPPFLAGS 应该扩展为空;尝试将其更改为 CFLAGS,或将 CFLAGS 更改为 CPPFLAGS。

于 2011-11-02T14:53:43.597 回答