arm-linux-gnueabi-g ++ - 4.7交叉编译c ++ 11

时间:2017-03-01 21:31:52

标签: c++11 arm cross-compiling embedded-linux g++-4.7

我试图用arm-linux-nueabi-g ++ - 4.7编译器使用std :: future编译一个例子;但是,我有以下错误:

  

user @ user-virtual-machine:〜/ projects / prova $ arm-linux-gnueabi-g ++ - 4.7 -pthread -std = c ++ 11 -c main.cpp

     

main.cpp:在函数'int main()'中:

     

main.cpp:8:35:错误:变量'std :: packaged_task task'有初始化程序但是类型不完整

有人可以告诉我我做错了什么吗?我将编译器安装为分发包。

代码:

#include <iostream>
#include <future>
#include <thread>

int main()
{
    // future from a packaged_task
    std::packaged_task<int()> task([](){ return 7; }); // wrap the function
}

1 个答案:

答案 0 :(得分:1)

我可以在ubuntu 16.04上重现相同的错误。使用以下目标体系结构-march=armv7-a进行编译。这些其他架构armv7-r armv6zk armv6z armv6t2 armv6k也有效(我没有全部尝试过)。

对于某些体系结构,这段代码似乎无法编译。我希望你的董事会被支持! :)