vector — Создание приложения C ++ для eCos на ARM

Я хочу построить приложение C ++ для eCos на процессоре ARM. Моя программа требует несколько стандартных заголовочных файлов C ++, таких как vector, iostream, list, …

Мой вопрос: как мне этого добиться? У кого-нибудь есть опыт создания и развертывания приложений C ++ для eCos?

Когда я использую компилятор arm-eabi-g ++ для компиляции приложения, я получаю следующую ошибку

fatal error: vector: No such file or directory

это означает, что векторной библиотеки C ++ нет.

Однако компилятор arm-none-eabi-g ++ включает в себя эти стандартные заголовочные файлы. Я получаю следующие ошибки для »:

In file included from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/locale_facets.h:43:0,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/basic_ios.h:39,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ios:45,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ostream:40,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/iostream:40,
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:44:35: error: '_U' was not declared in this scope
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:45:32: error: '_L' was not declared in this scope
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:46:32: error: '_U' was not declared in this scope
...

Могу ли я использовать компилятор arm-none-eabi-g ++ для eCos? Если да, как мне решить эти ошибки? Если нет, что мне делать?

Спасибо заранее!

0

Решение

vector, listони в основном принадлежат Standard template library, Для Ecos может быть что-то подобное, доступное аналогично BOOST,
Я думаю, что вы можете проверить эта ссылка

0

Другие решения

Тебе нужно ustl, Увидеть Использование uSTL в приложениях eCos.

Вот краткий пример использования vector,

Вы должны включить

#include <ustl.h>

Тогда вы можете создать экземпляр вектора следующим образом:

ustl::vector<int> v(2);
0

По вопросам рекламы [email protected]