Je n'ai jamais entendu parler de Cuda avant, mais à partir de la documentation en ligne, il semble que X.cu est censé être compilé dans Xo, afin d'avoir helloWorld.cu et helloWorld. cpp n'est pas une bonne idée. Avec votre permission, je vais renommer le « noyau » helloKernel.cu, alors cela devrait fonctionner:
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]
(. Notez que ces espaces sont grands onglets)
Si cela fonctionne, essayez une version Slicker:
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]
S'il vous plaît, marquer vos questions relatives à make-avec le tag [faire]. Justification: http://meta.stackexchange.com/questions/24030/why-do-they-specify-makefile-tag-instead-of-make/26567#26567 –