オブジェクトファイルをコンパイルしてからそれらをリンクすることでプロジェクトをコンパイルしようとしていますが、特別なことは何もありません。
hello.o : hello.h hello.cu
nvcc hello.cu -c -o hello.o
#...
main.o : $(objs)
nvcc *.o -o exec
リンクフェーズに入ると、nmがそれぞれが実際にオブジェクトファイル内にあり、それらの名前が壊れていないことを示しているにもかかわらず、ほぼすべてのメソッドが欠落していて宣言されていないことが示されています。ここで何が起こっているのですか?