ATOMIC_INT_LOCK_FREE = 1 на armV7-a GCC 4.8.3

Я пытаюсь перекрестно скомпилировать многопоточное приложение C++ для архитектуры Cortex A8 (armv7-a).

Я использую 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

Мои исследования показывают, что ATOMIC_INT_LOCK_FREE должно быть 2 для архитектур, более новых, чем armv5. Может ли кто-нибудь предположить, что здесь происходит?

С уважением, Якоб

1
15 сент. '14 в 20:57
источник поделиться

На данный вопрос пока никто не ответил

Посмотрите другие вопросы по меткам или Задайте вопрос