2014-10-31 4 views
2

Ошибка произошла в Buiding RTEMS-4,11 и используется Configure парам "--enable-POSIX" в исходном файле "Posix/SRC/prwlockinit.c""PTHREAD_RWLOCK_INITIALIZER необъявленной" ошибка в Buiding RTEMS

if (*rwlock == PTHREAD_RWLOCK_INITIALIZER) { 
    eno = pthread_rwlock_init(rwlock, NULL); 
} else { 
    eno = 0; 
} 

журнал показывает "cpukit/POSIX/SRC/prwlockinit.c: 42: 19: ошибка: 'PTHREAD_RWLOCK_INITIALIZER' необъявленная (первое использование в этой функции)"

когда я использовал команду оболочки: Grep -r "PTHREAD_RWLOCK_INITIALIZER" в rtems source diractory, я ничего не получил об этом объявленном макросе.

Как я могу исправить эту проблему с помощью "--enable-posix" not "--disable-posix"?

ответ

0

Вам необходимо использовать современный компилятор. Проблема в том, что libc (newlib), который скомпилирован в вашем gcc, устарел. PTHREAD_RWLOCK_INITIALIZER был добавлен в январе 2013 года.

Лучше всего использовать RTEMS Source Builder для создания самого последнего компилятора для любой версии RTEMS, которую вы используете. Для основного раздела RTEMS в настоящее время это будет версия 4.11.

+0

P.S. для более своевременных ответов вам может потребоваться задать вопрос о списке рассылки пользователей RTEMS. – gedare

 Смежные вопросы

  • Нет связанных вопросов^_^