【问题标题】:No member named 'forward' in namespace 'std'命名空间“std”中没有名为“forward”的成员
【发布时间】:2012-06-12 11:36:58
【问题描述】:

在 XCode 中,我最近制作并测试了一个使用 boost 的处理库。我刚刚在 IDE 中设置了一个基本项目,编码了,它构建得很好。

我现在想在另一个应用程序中使用该库。另一个应用程序的 xcode 项目是使用 3rd 方工具自动生成的。当我尝试在这个其他应用程序中包含我的基于 boost 的库时,我收到错误声明。 . .

No member named 'forward' in namespace 'std'

还有那行。 .

#include <tuple>

给出预处理器错误

'tuple' file not found

看到原始库在我的机器上构建得很好,错误必须归结为构建设置的差异,但我看不到差异并且不知道比较两个不同构建设置的好方法项目。谁能建议可能导致我出现问题的构建设置?

编辑:

在这两个项目中,

  • C/C++/Objective-C 编译器 = Apple LLVM 编译器 3.0

  • C++ 语言方言 = 编译器默认值

  • C++ 标准库 = 编译器默认值

编辑 2 [已解决]:

  • 我仍然在目标设置中启用了 C++11 方言。多哈!

【问题讨论】:

  • 您是否从 XCode 首选项的“下载”选项卡中安装了“命令行实用程序”?出于某种原因,很多 C++ 的东西似乎不再随默认 XCode 安装一起提供了。

标签: c++ xcode boost compiler-errors


【解决方案1】:

您的项目编译为 C++11 并使用 C++11 标准库(std::forward 和标头是新的)。 原始项目似乎使用 C++03 标准库编译为 C++03,因此这些新功能不可用。

【讨论】:

  • 我检查了语言/库设置,它们看起来相同(见编辑)。我还缺少其他设置吗?
猜你喜欢
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
  • 2013-06-09
相关资源
最近更新 更多