我正在尝试为Cortex A8(armv7-a)架构交叉编译多线程C ++应用程序。
我正在使用GCC v4.8.3。
原始代码大量使用期货。编译器标志如下所示:
arm-none-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -g -Wall -std=c++11 -c -o
编译时,我收到许多类似于以下内容的错误:
undefined reference to `std::__exception_ptr::exception_ptr::~exception_ptr()'
我怀疑这是因为没有包含bits / exception_ptr.h,因为ATOMIC_INT_LOCK_FREE被评估为1。
来自exception.h:
#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
#include <bits/exception_ptr.h>
#include <bits/nested_exception.h>
#endif
我的研究表明,对于比armv5更新的架构,ATOMIC_INT_LOCK_FREE应为2。谁能提出这里发生的事情?
此致 雅各布