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 に答える