当我在 NetBeans IDE 中取消选中 Enable Make Dependency Checking(请参阅此问题)时,现在 IDE 使用 nvcc 并将我的 .cu 编译为 .o 但它根本不进行链接:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf make 1 : 进入目录
/me/NetBeansProjects/my_CUDA_1' "/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/libmy_cuda_1.a make[2]: Entering directory
/me/NetBeansProjects/my_CUDA_1' mkdir -p build/Debug/GNU-Linux-x86 / usr/local/cuda-5.0/bin/nvcc -c -g -I/usr/local/cuda-5.0/include -I/usr/local/cuda-5.0/samples/common/inc -o build/Debug/GNU -Linux-x86/cudaMain.o cudaMain.cu mkdir -p dist/Debug/GNU-Linux-x86 rm -f dist/Debug/GNU-Linux-x86/libmy_cuda_1.a ar -rv dist/Debug/GNU-Linux- x86/libmy_cuda_1.a build/Debug/GNU-Linux-x86/cudaMain.o ar: 创建 dist/Debug/GNU-Linux-x86/libmy_cuda_1.aa - build/Debug/GNU-Linux-x86/cudaMain.o ranlib dist /Debug/GNU-Linux-x86/libmy_cuda_1.a make[2]:离开目录/me/NetBeansProjects/my_CUDA_1' make[1]: Leaving directory
/me/NetBeansProjects/my_CUDA_1'构建成功(总时间:2s)
我可以从终端链接:
comp@comp:# ls
cudaMain.ocomp@comp:# g++ -m64 -o cudaMain cudaMain.o -L/usr/local/cuda-5.0/lib64 -lcudart comp@comp:#./cudaMain comp@comp:/me/NetBeansProjects/my_CUDA_1/build/Debug /GNU-Linux-x86#
我认为这与它不检查 make 依赖关系(?)在 IDE 中检查/取消检查/删除/添加/更改以启用链接的事实有关吗?我不知道为什么,但在 Projects->Properties 中没有与链接相关的选项。
编辑:
此刻,我解决了所有要在 Ubuntu 12.10 上安装 CUDA-5.0 的问题(在Soroosh 的帮助下,再次感谢)(并使用“来自 nvidia-current 的 NVIDIA 二进制 Xorg 驱动程序、内核模块和 VDPAU 库”驱动程序 - 只有这给了我额外的图形/resolution) 并使用 Netbeans ALL 示例项目进行编译并编译和运行我自己的。如果有人有任何问题,请询问