Обновите цепочку инструментов компиляции Linux от Arm

Учитывая, что текущая цепочка инструментов GCC 5.5 от Arm не имеет достаточной поддержки синтаксиса C++17, ее необходимо обновить.

Вот подробные шаги. Используйте официальную цепочку инструментов

Официальный сайт цепочки инструментов ARM:

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

Версия «голого железа» разработана для ARM без операционной системы (среда «голого железа»).

В основном некоторые оптимизации были сделаны для архитектуры Cortex-M.

 

Как указано выше, загрузите tar.xz, это файл цепочки инструментов.

Кроме того, asc является файлом подписи tar.xz, убедитесь, что он выдан правильной организацией (вы не сможете его использовать)

Если вы хотите проверить, метод следующий:

gpg –проверить tar.xz.asc tar.xz

Sha256asc — это сводный файл, гарантирующий полноту проверочных данных (лучше всего проверить их)

Методы, как показано ниже:

sha256сумма tar.xz

После завершения загрузки

Сравните значение sha, чтобы убедиться, что с файлом все в порядке.Команда выглядит следующим образом:

Установите набор инструментов:

1: Распаковать

sudo tar -xvf arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz -C /opt/gcc12.3

2: Запустите, чтобы просмотреть версию

Версия:

3. Настройка переменных среды

Сначала создайте мягкую ссылку, чтобы предотвратить дублирование существующей команды командой.

4: Компиляция кода

Используемая ранее цепочка инструментов 5.5 не поддерживала make_unique. Код выглядит следующим образом:

#include <iostream>

#include <memory>

int main()

{

  std::unique_ptr<int> p = std::make_unique<int>(10);

  std::cout<<"this is a test !!" << std::endl;

  getchar();

}

Используя инструменты gnu5.5, gcc:

Ошибка компиляции, make_unique не поддерживается, а именно:

Тот же код успешно скомпилирован с использованием gcc12.3:

Выше обновление цепочки инструментов завершено.

Supongo que te gusta

Origin blog.csdn.net/weixin_45119096/article/details/132325494
Recomendado
Clasificación