【发布时间】:2016-02-24 14:00:29
【问题描述】:
我正在使用NSight Eclipse Edition,即使项目编译正常,某些成员[此处为detach()] 也无法解决。
错误信息出现在 7.0 和 7.5 版本中。
更新:好的;我在包含 thread 中发现是在开头这个检查:
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#else
因为__cplusplus 在Nsight 中定义如下:
因此,#if 被解析并且未找到成员 - 这些成员在 #else 部分中定义。
我无法在 Eclipse 中设置值,因为在 Preprocessor include Paths, Macros etc. 窗口中按钮被禁用并且显示了此注释:
知道如何更新__cplusplus 的值吗?
【问题讨论】:
-
你试过在nsight eclipse版中设置c++11编译选项吗?如果这没有帮助,您可以在包含
thread之前尝试#undef __cplusplus和#define __cplusplus=201103L。您可能希望在 nsight EE 编辑器解析时调整此行为,我怀疑为此定义了一个宏。 -
@RobertCrovella 1) c++11 已设置; 2) 我还在源代码中定义了我自己的
__cplusplus值。但这并不是一个很好的解决方案。然后我在 Eclipse 设置中找到了一种如何将值从199711L更改为201103L的方法——>这现在就像一个魅力。我写了关于这个 Nvidia 的家伙,并等待他们的回复。当他们确认我的方式时,我会用解决方案回答这个问题。
标签: cuda header-files nsight