我正在尝试交叉编译一个库,其中使用C ++ 11和std :: promise以及标头中定义的其他新模板。我收到以下错误:
error: aggregate 'std::promise<void> t' has incomplete type and cannot be defined
我已经google了很多,没有人谈论在嵌入式环境中使用std :: promise(需要交叉编译)。测试代码如下:
#include <future>
int main ()
{
std::promise<void> t;
return 0;
}
编译命令是:
arm-linux-gnueabi-g++ -std=c++11 -c test.c
我在Ubuntu 13.10 64位操作系统上进行了测试,使用arm-linux-gnueabi-g ++ 4.8版。 如果我使用g ++ 4.8,则编译通过。 通过汇编应该改变什么?非常感谢。