Перекрестная компиляция программ C/C++ для Ubuntu, установленных на устройствах Edge


Введение

Разработка масштабной программы на Edge-устройстве может занять значительное количество времени. Чтобы избежать этого, в данном документе мы представляем метод перекрестной компиляции C/C++ для устройства, на котором установлен Ubuntu.

Это позволит вам разработать программу с использованием подсистемы Windows для Linux (WSL) и развернуть ее на устройствах Edge.

Среда

Поддерживаемое устройство (ОС)

e-RT3 Plus F3RP70-2L (Ubuntu 18.04 32-bit): Контроллер Edge от Yokogawa.

Пакет архитектуры armhf работает на этом устройстве.

Версия Windows

Windows 10 64-разрядная версия 1909

Версия программного обеспечения

Visual Studio Professional 2019 версия 16.9.6

Начало работы

Прежде чем начать сборку кросс-компилируемой платформы, необходимо установить пакет libc6 на e-RT3 Plus.

Выполните следующие команды для установки пакета:

sudo apt update
sudo apt install libc6-dbg
Войти в полноэкранный режим Выйти из полноэкранного режима

Примечание: В некоторых случаях может потребоваться настройка sudo и прокси.

Подготовка WSL

Установка WSL

  1. Установите WSL, следуя шагам, описанным в официальной процедуре Microsoft.
  2. Загрузите Ubuntu 18.04 LTS из Microsoft Store.

Настройка параметров WSL

  1. Запустите WSL и войдите в систему.
  2. Выполните следующие команды для установки необходимых пакетов.

    sudo apt update
    
    # Install the build environment for armhf
    sudo apt install crossbuild-essential-armhf
    
    # Install other required packages
    sudo apt install make rsync zip
    
  3. Вы можете убедиться в успешности установки, выполнив следующие команды.

    $ arm-linux-gnueabihf-gcc --version
    arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
    Copyright (C) 2017 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    $ arm-linux-gnueabihf-g++ --version
    arm-linux-gnueabihf-g++ (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
    Copyright (C) 2017 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

Примечание: Если компьютер находится в среде, которая требует использования прокси для подключения к интернету, необходимо настроить параметры прокси.

Установка Visual Studio

Шаги по установке Visual Studio описаны в предыдущей статье.

Примечание: Вам не нужно скачивать IntelliSense, чтобы выполнить шаги, описанные в этой статье.

Создание и отладка проектов

Создание и отладка проекта включает в себя следующие шаги:

  1. Создание проекта
  2. Настройка параметров проекта
  3. Сборка и отладка проекта

Создание проекта

Выполните следующие шаги для создания проекта:

  1. Запустите Visual Studio и создайте новый проект.

  2. Укажите тип проекта как C++ и Linux, выберите Console Application и создайте проект, указав имя проекта.

Настройка параметров проекта

  1. В строке меню выберите Project > Properties.

    Для получения дополнительной информации о настройке параметров проекта для подсистемы Linux WSL обратитесь к официальной документации.

  2. В раскрывающемся списке Конфигурация выберите Отладка.

  3. В раскрывающемся списке Платформа выберите x64.

  4. На левой панели выберите Общие.

  5. На правой панели, в разделе Platform Toolset, в раскрывающемся списке Platform Toolset выберите GCC for Windows Subsystem for Linux.

  6. Нажмите Применить

  7. На левой панели нажмите Отладка.

  8. В раскрывающемся списке Remote Debug Machine выберите добавленное устройство.

  9. На левой панели выберите C/C++.

  10. На правой панели в разделе Общие в полях Компилятор C и Компилятор C++ введите arm-linux-gnueabihf-g++.

  11. На левой панели выберите Linker.

  12. На правой панели в разделе Общие в поле Linker введите arm-linux-gnueabihf-g++.

  13. Нажмите Применить.
    Настройки проекта настроены.

Сборка и отладка проекта

Выполните следующие шаги для сборки и отладки проекта:

  1. В раскрывающемся списке Debug выберите x64.

  2. Поместите точку останова в любом месте исходного кода.

  3. Соберите и запустите программу.

  4. Если программа остановится в точке останова, это означает, что проект создан успешно.

    Вывод отображается в окне консоли Linux.

Приложение

Доступ к WSL-файлам

Файлы WSL сохраняются в текущем каталоге Linux. Чтобы перейти к директории, введите wsl$ в адресной строке проводника Windows.

Сборка проекта без отладки

Вы можете собрать только проект без его отладки.

  1. В строке меню выберите Build > {project-name}.

Выходной файл сохраняется в следующем месте:

<Solution directory><Project directory>bin<Platform><Configuration>

Использование библиотек, специфичных для конкретного устройства

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

  1. Создайте папки inc и lib в каталоге проекта для хранения заголовочных и библиотечных файлов соответственно.

  2. Откройте свойства проекта в Visual Studio.

  3. На левой панели выберите C/C++ > General.

  4. На правой панели в поле Additional Include Directories укажите расположение папки inc.

  5. На левой панели выберите Linker > General.

  6. В поле Additional Library Directories укажите расположение папки lib.

  7. В поле Library Dependent File укажите имя библиотеки. Например, в случае libfoo.so, введите foo.

  8. Нажмите кнопку Применить.

Ссылки

  1. Платформа искусственного интеллекта для промышленности | Yokogawa Electric Corp.
  2. C++ с Visual Studio 2019 и Windows Subsystem for Linux (WSL) | C++ Team Blog

Оцените статью
devanswers.ru
Добавить комментарий