C++11 标准和 CUDA 6.0

2023-11-22

我想在 CUDA 6.0 项目中对 C++ 文件使用 C++11 标准。 当我将 CUDA 6.0 Nsight Eclipse 设置中的编译器更改为 g++ 并添加-std=c++11选项然后我收到很多这样的错误:

error: namespace "std::__gnu_cxx" has no member "__normal_iterator"

显然我必须为 CUDA“选择”编译器一次,然后为我的 C++ 文件“选择”编译器。

我该怎么做?安装 CUDA 6.5(支持未记录的 C++11)不是一个选项。


问题是CUDA 6.0不支持C++11标准并且当通过-std=c++11编译器的选项,那么其他源代码的编译将失败[特别是在使用第三方 .c 文件 JSON 时,...]。

在 CUDA 6.0 Eclipse 中“实现”g++ hack: 项目 -> 属性 -> 构建 -> 设置 -> 工具设置 -> 构建阶段 -> 编译器路径(-ccbin): 在这里输入下面描述的 shell 脚本的路径[示例]:/home/user/g++.hack

脚本在/home/user/g++.hack:

# g++ Hack
#

# in CUDA 6.0 the source code is always the last parameter
SourceFile="${@: -1}"

# get the file extension
Extension=${SourceFile##*.}

if [ "$Extension" == "cpp" ]
then
   StdFlag="-std=c++11"
else
   StdFlag=""
fi

# run now the g++ 4.9 in your own path with the personalized std option
/usr/local/bin/g++ $StdFlag $*

别忘了奔跑chmod a+x /home/user/g++.hack。您的 C++11 源代码必须具有扩展名 .cpp - 对于所有其他扩展名,编译器选项将不会被传递。

希望在 Nvidia 正式支持 C++11 之前它能有所帮助。对我来说它有效,一旦 Nvidia 正式支持 C++11,我就可以切换到“正常”解决方案。

Note:这样,您将无法在 CUDA 源代码中使用 C++11 代码,但至少可以使用 C++11 开发主机代码!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++11 标准和 CUDA 6.0 的相关文章

随机推荐

  • 为什么 `this` 在 ES6 箭头函数中不起作用? [复制]

    这个问题在这里已经有答案了 这是我的代码 use strict let obj username Hans Gruber hello gt hello this username console log obj hello 但输出是 hel
  • 如何禁用 JIT 编译器的内部函数使用?

    我正在做一些性能测试JVM 我想衡量内在函数使用的影响 我想禁用JIT对某些方法使用内在函数而不进入解释模式 有没有办法做到这一点 谢谢 Use java XX UnlockDiagnosticVMOptions XX DisableInt
  • 是否有 .NET Framework 方法可将文件 URI 转换为带驱动器号的路径?

    我正在 ASP NET 领域中寻找类似 Server MapPath 的东西 以将 Assembly GetExecutingAssembly CodeBase 的输出转换为带有驱动器号的文件路径 以下代码适用于我尝试过的测试用例 priv
  • JTable 单元监听器?

    我正在使用 JTable 每当单元格出现时我都需要收到通知 选择改变 我尝试使用 ListSelectionListener 但是 我仅在行选择更改时收到通知 如果我选择一个 同一行上的新列 我没有收到通知 我需要知道什么时候 单元格被选中
  • 无法通过 Cloud SQL 代理从 Cloud Shell By Proxy 进行连接

    我正在关注DjangoGAE 示例 但通过代理从 Google Cloud Shell 连接到 Cloud SQL 实例时遇到问题 可能与权限设置有关 因为我看到请求未授权 其他上下文 gcloud beta sql connect aut
  • spplot 图例在地图中的自定义放置

    是否可以放置 spplot spplot 多边形 图例within地图 在左下角 像这样 我能得到的最接近的是这个 我没有发布我的数据 我只是使用示例数据 所以在这种情况下 尝试将图例放在地图的左上角 data meuse grid gri
  • 通过 CSS 打印比例

    在 IE 8 和 Firefox 3 6 和 4 上 如果您转到 打印预览 则可以按百分比调整打印比例或使用 缩小以适合 CSS是否有像scale 50 这样的属性或者调整打印比例的东西 有缩放 http reference sitepoi
  • Roslyn /查找参考 - 无法正确加载工作区

    我正在尝试编写一些代码来查找任何给定方法的所有方法调用 因为我正在创建一个开源 UML 序列图工具 然而 我在跳过前几行代码时遇到了麻烦 API 似乎已经发生了巨大的变化 我似乎无法通过查看代码来推断正确的用法 当我做 var worksp
  • PageTransformer 转换中的 ViewPager 边距

    我有一个 ViewPager 其中每个视图都是一副牌上的卡片的表示 每张卡片的边框上都有一个使用 ViewPager 边距的阴影 cardsViewPager setPageMargin getResources getDisplayMet
  • 知道了矩形的两个点,如何算出另外两个点?

    大家好 我正在学习processing js 我遇到了一个数学问题 我似乎无法用我有限的几何和三角知识或维基百科的帮助来解决这个问题 我需要画一个矩形 为了绘制这个矩形 我需要知道每个角的坐标点 我所知道的只是盒子顶部和底部中点的 x 和
  • 如何仅根据第一个数字拆分字符串

    所以我有一个包含街道地址的数据集 它们的格式非常不同 例如 d lt c street1234 Street 423 Long Street 12 14 Road 18A Road 12 15 Road 1 2 由此我想创建两列 1 X 街
  • PHP 7.0 上的 Laravel 5.4:PDO 异常 - 找不到驱动程序 (MySQL)

    我在 Ubuntu 14 04 带有 Plesk 12 5 30 的 VPS 上有一个 Laravel 5 4 项目 创建数据库并设置后 env包含我运行的所需信息的文件php artisan migrate并抛出异常 照亮 数据库 Que
  • Java SockJS Spring 客户端和消息大小

    使用 SockJS java 客户端 我尝试连接到 Spring sockjs 服务器 并且收到约 20Kb 消息 无标头 的错误 1009 Javascript 库工作正常 Transport closed with CloseStatu
  • 硬件锁定许可:我应该使用哪些硬件? [复制]

    这个问题在这里已经有答案了 我最近实现了一个具有模糊匹配功能的硬件锁定许可系统 可以处理硬件中的更改 而无需重新激活 但我需要更多硬件来匹配 以确保更安全 创建更可靠的模糊匹配 现在我正在匹配以下内容 物理MAC地址 硬盘序列号 RAM 部
  • Visual Studio 2015 - Xamarin - Android - 当我尝试在 .cs 文件中执行任何操作时获取“resource.id 不包含 xxx 的定义”

    使用 Visual Studio 2015 添加其他活动 cs 和布局 axml 我对 Xamarin 和 Android 开发非常陌生 但已经使用 VB 开发了几年 现在使用 C 我在 Android 4 2 上有一个简单的应用程序 随着
  • 编写拒绝无效子模块提交的 git update 挂钩的最佳方法是什么?

    我正在尝试写一个updategit 的钩子 如果子模块被更新为子模块的上游存储库中不存在的提交 ID 则会反弹 换句话说 我想强制用户在将更改推送到子模块指针之前将更改推送到子模块存储库 一个警告 我只想测试其裸露的上游存储库与父存储库位于
  • 在没有中间类的情况下将数据插入到 JavaFX TableView

    我是 Java 程序员新手 我想将 ResultSet 数据插入到 JavaFX TableView 但我不会使用中间类 我可以将 ResultSet 行作为对象插入到 TableView 行中吗 这是我使用中间类 Unit 的代码 pub
  • Java 9 中的 JRE 文件夹在哪里?

    Java 9 中的 JRE 文件夹在哪里 我在某些网站上看到 JRE 存在于单独的分发文件夹中 但它位于哪里 JDK 和 JRE 运行时映像已在 JDK 9 中进行了重组 JDK 运行时映像不再包含 jre 子目录 重构的摘要记录在 JDK
  • Cypress 5.0 - 无法找到已安装的浏览器

    我安装了 Cypress 5 0 并安装了所有浏览器 Chrome Edge 和 FF 当我跑步时 gt npx cypress open 无法在右上角看到所有浏览器 仅显示 Electron I tried gt npx cypress
  • C++11 标准和 CUDA 6.0

    我想在 CUDA 6 0 项目中对 C 文件使用 C 11 标准 当我将 CUDA 6 0 Nsight Eclipse 设置中的编译器更改为 g 并添加 std c 11选项然后我收到很多这样的错误 error namespace std