Raspberry Pi工具链上的std :: shared_future

sag*_*rgp 5 c++ cross-compiling c++11 raspberry-pi

我正在尝试为Raspberry Pi交叉编译一个大型项目.我正在使用由crosstool-ng,gcc版本4.7.3构建的工具链.当编译看到std :: shared_future时,编译会产生阻塞.我收到此错误:

test.cpp:5:27: error: aggregate 'std::shared_future<int> xxx' has incomplete type and cannot be defined
Run Code Online (Sandbox Code Playgroud)

这是生成该错误的源文件:

#include <future>

int main()
{
  std::shared_future<int> xxx;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个相同的源文件在Rapsberry Pi本身上成功编译.这是crosstool工具链中的错误吗?有解决方法吗?如何才能成功编译?

sag*_*rgp 2

我在 @backlash 和 Freenode 上 #gcc 上的人们的帮助下解决了这个问题。Crosstool-NG 正在为 构建工具链armv7,而 Raspberry Pi 的编译器正在为armv6. 更改“体系结构级别”(目标选项>体系结构级别)以armv6允许我编译原始问题中发布的示例代码。此选项将一个添加到--with-arch=armv6的配置标志中gcc。希望这对将来的人有所帮助。