non ho mai sentito parlare di Cuda prima, ma dalla documentazione in linea sembra come se si suppone X.cu essere compilato in Xo, in modo da avere helloWorld.cu e helloWorld. cpp non è una buona idea. Con il vostro permesso io rinominare il "kernel" helloKernel.cu, allora questo dovrebbe funzionare:
NVCC = nvcc
helloWorld.o: helloWorld.cpp helloWorld.h
$(NVCC) -c %< -o [email protected]
helloKernel.o: helloKernel.cu
$(NVCC) -c %< -o [email protected]
helloWorld: helloWorld.o helloKernel.o
$(NVCC) %^ -o [email protected]
(. Si noti che questi spazi iniziali sono schede)
Se funziona, provare una versione impermeabile:
NVCC = nvcc
helloWorld.o: %.o : %.cpp %.h
helloKernel.o: %.o : %.cu
%.o:
$(NVCC) -c %< -o [email protected]
helloWorld: helloWorld.o helloKernel.o
$(NVCC) %^ -o [email protected]
prega, taggare le vostre domande make-correlati con tag [fare]. Razionale: http://meta.stackexchange.com/questions/24030/why-do-the-specify-makefile-tag-instead-of-make/26567#26567 –