Перейти к содержанию
    

Embedded Template Library

Собрал тут библиотеку etl для IAR 9.20.4 (С++17). В архиве приложены исходники и содержимое папки cpp из IAR'а, где пришлось сделать некоторые исправления.

etl-iar9204-20220518.7z


Файлы проекта тут: \etl\test\iar9204\
 

Для тестирования:

- заменить файлы из папки cpp;
- скомпилировать;
- запустить \etl\test\iar9204\settings\etl.Debug.cspy.cmd

Проект настроен для симулятора C-SPY (Cortex-M3). Работает около 90% всех тестов, исключая те, которым требуются потоки. Некоторые тесты отключены, т.к. отсутствуют необходимые заголовочники. Сообщения об ошибках заглушены в свойствах проекта.
 

etl-iar9204.jpg
 

etl.Debug.cspy.cmd.jpg
 

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, uni сказал:

- заменить файлы из папки cpp;

Ну, лезть в заголовочные файлы, поставляемые с компилятором, это совсем не дело. Такие вещи надо в своём коде делать.

#ifdef __ICCARM__
namespace std
{

template< class T >
inline constexpr bool is_enum_v = is_enum<T>::value;

template< class T, class U >
inline constexpr bool is_same_v = is_same<T, U>::value;

template< class Base, class Derived >
inline constexpr bool is_base_of_v = is_base_of<Base, Derived>::value;

template <typename T>
inline constexpr size_t alignment_of_v = alignment_of<T>::value;
  
}
#endif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, вы правы. Я начинал портирование с этого приёма. Это не единственная проблема. Все их можно обозначить, сравнив папки с помощью WinMerge.

Попробуйте последовать своему совету и собрать таким образом проект. Приложите результат.

Моя версия не окончательная и действительно требует доработки. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В новой версии IAR 9.30.1 можно собрать проект без замены заголовочников в cpp, если использовать библиотеку Libc++ (General Options\Library Configuraion). При этом можно использовать оригинальные файлы etl. В архиве я некоторые слегка модифицировал. Полный проект пока не прикладываю, т.к. тестирование в симуляторе останавливается на одном тесте, выкидывая в обработчик исключения. В предыдущем варианте такой фигни не было. Если удастся пройти все тесты в симуляторе, то выложу рабочий вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...