1

我正在尝试使用带有 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
}
4

1 回答 1

1

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

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

于 2017-03-07T22:11:26.083 回答