nvcc在mac osx 10.9不支持的选项上

时间:2013-10-29 04:05:16

标签: c++ xcode macos cuda clang

当我尝试编译包含简单Hello World的任何.cu文件时,我在命令行上出现此错误:

Agustin$ nvcc -o hello_world hello_world.cu
clang: error: unsupported option '-dumpspecs'
clang: error: no input files

我正在运行OSX Mavericks 10.9

这是Cuda版本:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2013 NVIDIA Corporation
Built on Wed_Jul_10_11:16:01_PDT_2013
Cuda compilation tools, release 5.5, V5.5.0

另外在互联网上阅读,如果我像这样删除文件:

nvcc -o hello_world hello_world.cu  -ccbin /usr/bin/clang 

我收到以下错误

  

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / _ 配置(191):   错误:标识符“ _char16_t”未定义

     

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / _ 配置(192):   错误:标识符“ _char32_t”未定义

     

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / __配置(303):   错误:预期标识符

     

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / __配置(303):   错误:仅在函数声明中允许使用内联说明符

     

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / __配置(304):   错误:预期表达式

     

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 / __配置(305):   错误:预期为“;”

     

.............. 还有更多类似的错误打印输出

3 个答案:

答案 0 :(得分:4)

尝试更新到最近为OSX 10.9 here发布的新版cuda工具包。

务必遵循instructions

您可能也对我的回答here感兴趣。

答案 1 :(得分:3)

第二个问题可能来自nvcc和libc ++不能很好地协同工作。 尝试:

nvcc -o hello_world hello_world.cu -ccbin /usr/bin/clang -Xcompiler -stdlib=libstdc++

答案 2 :(得分:1)

我遇到了类似的问题。正如罗伯特所提到的,这与libstdc ++ v.s.有关。 libc ++(clang的默认值)。

你可以在这里看到这个有效的CMake helloworld项目: https://github.com/drtaglia/homebrew/tree/master/cuda_simple

在main.cpp中我也有手动编译指令(你必须稍微调整它们以匹配你的路径)