【问题标题】:arm-linux-gnueabi-g++-4.7 cross-compiling c++11arm-linux-gnueabi-g++-4.7交叉编译c++11
【发布时间】:2017-03-01 21:31:51
【问题描述】:

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

【问题讨论】:

  • 请提供完整的命令行调用 g++

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-20
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2018-01-20
    • 2018-01-18
    • 1970-01-01
    相关资源
    最近更新 更多