gpt4 book ai didi

c++11 - CUDA 7.0, '-std=c++11' 不允许无效参数 'C/ObjC'

转载 作者:行者123 更新时间:2023-12-02 05:17:31 25 4
gpt4 key购买 nike

我最近下载了 CUDA 7 并将其设置为与我的项目一起使用。在 Mac 上,CUDA 7 需要 clang 作为主机编译器。

现在,我正在使用许多 C++11 功能。我已经通过传递给 nvcc 的 -std=c++11 启用了这些功能。但是,如果我将 -Xcompiler -std=c++11 传递给 nvcc,无论我是否也单独传递了 -std=c++11,我都会收到以下错误。错误是:

“‘C/ObjC’不允许无效参数‘-std=c++11’”

这似乎应该可行,它确实适用于 GCC。任何人都有解决方法。否则,我会向 Nvidia 提交错误报告。

最佳答案

nvcc -dryrun ... 将显示 nvcc 将执行的命令。我目前无法访问 CUDA 7,只能访问 6.5,但我的问题除其他外还有两个编译生成的 C 源代码的命令。此代码由 cudafe 生成,必须由 C 编译器编译,但 -Xcompiler 添加了 C 和 C++ 模式的选项。

我想我的 gcc 情况的不同之处在于,当您遇到错误时我会收到警告(这正是 gcc 和 clang 在这种情况下的不同之处)。对于这两个编译器,我没有看到任何抑制它的方法,所以我猜你必须修复你的 .cmake 文件以省略 -Xcompiler 选项。这个选项不应该用于语言标准,只是一些非常特定于编译器的东西。

关于c++11 - CUDA 7.0, '-std=c++11' 不允许无效参数 'C/ObjC',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com