【问题标题】:CUDA NSight 7.0 with c++11 support - where to set?支持 c++11 的 CUDA NSight 7.0 - 在哪里设置?
【发布时间】:2015-03-16 03:21:57
【问题描述】:

最终,NVIDIA 在 CUDA 7.0 中甚至在设备代码中也支持 c++11 标准。我现在安装了 CUDA NSight 7.0,我显然太盲目了,无法找到激活 c++11 的选项。目前我不得不将nvcc 重命名为nvcc.orig 并创建一个shell 脚本nvcc,我在其中调用nvcc.orig 并提供带有所有参数的c++11 选项。然后我就可以毫无问题地编译我的代码了。

但这不能这样工作!

谁能告诉我在项目设置中哪里激活c++11标准?

【问题讨论】:

    标签: c++11 cuda nsight


    【解决方案1】:

    不确定您对 nsight 指的是哪个版本,但这里可能是您需要的:

    • Nsight Visual Studio

      • 项目的属性页 -> CUDA C/C++ -> 命令行 -> 附加选项
      • 添加您的 c++11 支持标志:--std=c++11
    • Nsight Eclipse

      • 项目的属性 -> 构建 -> 设置 -> 工具设置 -> NVCC 编译器 -> 命令行提示符
      • 添加您的 c++11 支持标志:--std=c++11

    希望这会有所帮助。还要注意,nvcc不仅在主机代码中支持c++11,而且在内核代码[设备代码]中也支持c++,真的很酷~

    谢谢 一个

    【讨论】:

    • 不,它没有帮助!编译 cuda 源文件时收到此错误:4.9.2/include/stddef.h(432): error: identifier "nullptr" is undefined
    • 在最近的 Nsight 中有一个选项:右键单击项目(不是文件!)转到构建 > 设置 > 选项卡:工具设置 > NVCC 编译器 > 代码生成 > 启用复选框: 启用 C++11 支持。
    【解决方案2】:

    这对我不起作用。

    项目的属性 -> 构建 -> 设置 -> 工具设置 -> NVCC 编译器 -> 命令行提示符。添加您的 c++11 支持标志:--std=c++11

    这对我有用

    项目的属性 > 构建 > 设置 > 选项卡:工具设置 > NVCC 编译器 > 代码生成 > 启用复选框:启用 C++11 支持。

    【讨论】:

      【解决方案3】:

      在 NSIGHT 8 中,这适用于 GCC,但不适用于 NVCC:

      • 项目的属性 -> 构建 -> 设置 -> 工具设置 -> GCC C++ 编译器 -> 命令行提示符。添加您的 c++11 支持标志:--std=c++11

      【讨论】:

        【解决方案4】:

        这行得通:

        右键单击您的 Project_name : 选择属性->构建->设置->工具设置->NVCC编译器->代码生成。

        勾选以下选项: 启用 C++11 支持(-std=c++11)

        【讨论】:

          猜你喜欢
          • 2014-02-07
          • 1970-01-01
          • 2016-08-25
          • 2023-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-28
          相关资源
          最近更新 更多