我试图在Windows命令行中编译CUDA C代码。我已经安装了cuda工具包,nvcc
工作正常。但代码包含png.h
,我想知道提供它的正确方法是什么。
具体来说,我想了解nvcc查找标头和.dll
的默认目录。我应该如何安装这样的标准C库:我是否必须使用MinGW并以某种方式将C:\MinGW\include
和C:\MinGW\bin
添加到PATH
?
目前我的解决方案以下列方式查看:
$ nvcc mandelbrot-dynamic.cu -O3 -arch=sm_35 -rdc=true -lcudadevrt -Xcompiler -fopenmp -Ic:/mingw/include/ -o dynamic
结果是:
cl : Command line warning D9002 : ignoring unknown option '-fopenmp' mandelbrot-dynamic.cu
c:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/amd64/../../../VC/INCLUDE\yvals.h(472) : warning C4005: '_EXTERN_C' : macro redefinition
c:/mingw/include/_mingw.h(258) : see previous definition of '_EXTERN_C'
c:/mingw/include/float.h(38) : fatal error C1021: invalid preprocessor command 'include_next'
它没有抱怨png.h
但是MSVC和MingW之间存在冲突。另外,nvcc不接受来自mingw标头的预处理器命令。