我正在构建一个需要nvcc编译的软件.我没有支持CUDA的GPU,但实际上我并不需要它 - 朋友正在Linux上构建完全相同的软件,他没有CUDA GPU,但一切都很好.
我从https://developer.nvidia.com/cuda-downloads(cuda_6.5.14_mac_64.pkg)安装了最新的CUDA工具包,没有任何问题.但是当我构建软件时,我遇到了问题.
我能够以较小的规模重现这个问题:
$ mkdir temp; cd temp; cabal sandbox init
$ cabal get cuda
Unpacking to cuda-0.6.5.0/
$ cd cuda-0.6.5.0/Foreign/CUDA/Analysis
$ c2hs -d trace --cpp=/Developer/NVIDIA/CUDA-6.5/bin/nvcc --cppopts=-ccbin --cppopts=/usr/bin/clang --cppopts=-Xcompiler --cppopts=--stdlib=libstdc++ Device.chs
Attempting to read file `Device.chs'...
...parsing `Device'...
...successfully loaded `Device'.
Invoking cpp as `/Developer/NVIDIA/CUDA-6.5/bin/nvcc -E -x c -ccbin /usr/bin/clang -Xcompiler --stdlib=libstdc++ -U__BLOCKS__ -DC2HS_MIN_VERSION(mj,mn,rv)=(mj<=0&&mn<=18&&rv<=2) Device.chs.h'...
In file included from <built-in>:170:
<command line>:3:29: error: …Run Code Online (Sandbox Code Playgroud)