当我取消选中NetBeans IDE中的启用依赖关系检查时(请参阅this issue),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。一个 ar -rv dist / Debug / GNU-Linux-x86 / libmy_cuda_1.a ar / debug / GNU-Linux-x86 / cudaMain.o ar:创建 dist / Debug / GNU-Linux-x86 / libmy_cuda_1.a a - 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 比较@补偿:#/ cudaMain 排版@排版:/ ME /的NetBeansProjects / my_CUDA_1 /建造/调试/ GNU Linux的86#
我认为这与它不检查make依赖(?)这一事实有关 在IDE中检查/取消选中/删除/添加/更改以启用链接的内容是什么? 我不知道为什么,但没有与Projects-> Properties中的链接相关的选项。
编辑:
此刻我解决了所有要安装的问题(使用Soroosh帮助,再次感谢)Ubuntu 12.10上的CUDA-5.0(并使用“NVIDIA二进制Xorg驱动程序,内核模块和来自nvidia-current的VDPAU库”驱动程序 - 只有这给了我额外的图形/分辨率)并使用Netbeans ALL示例项目编译并编译和运行我自己的。 如果有任何问题,请询问
答案 0 :(得分:1)
我在配置类型之前更改为静态库并且它是错误的:应该是应用程序,然后链接是可能的。我必须将Ide中的Run命令从调试位置更改为:
DIST /调试/ GNU Linux的86 / my_cuda_1
并使用GNU工具集合。 现在没关系。它构建.o然后与libcudart.so链接以创建可执行文件:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .clean-conf
make[1]: Entering directory `/me/NetBeansProjects/my_CUDA_1'
rm -f -r build/Debug
rm -f dist/Debug/GNU-Linux-x86/my_cuda_1
make[1]: Leaving directory `/me/NetBeansProjects/my_CUDA_1'
CLEAN SUCCESSFUL (total time: 113ms)
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/me/NetBeansProjects/my_CUDA_1'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/my_cuda_1
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
/usr/local/cuda-5.0/bin/nvcc -o dist/Debug/GNU-Linux-x86/my_cuda_1 build/Debug/GNU-Linux-x86/cudaMain.o -lcudart
make[2]: Leaving directory `/me/NetBeansProjects/my_CUDA_1'
make[1]: Leaving directory `/me/NetBeansProjects/my_CUDA_1'
BUILD SUCCESSFUL (total time: 2s)
CUDA时钟示例GPU设备0:带有计算功能的“GeForce GT 630” 能力2.1
总时钟= 52926
RUN SUCCESSFUL(总时间:151ms)