Как стать автором
Обновить

Настройка Eclipse CDT под кросскомпиляцию для Windows и Linux в Arch дистрибутивах

Уровень сложностиПростой

Всех приветствую, здесь будет расписана установка и настройка Eclipse CDT, компилятора MinGW в Arch Linux.

Содержание

  1. Установка Eclipse CDT

  2. Установка MinGW

  3. Настройка Eclipse CDT

  4. Заключение

Установка Eclipse CDT

Для того чтобы установить Eclipse есть разные пути, но будут рассмотрены pamac и yay.

Если у вас есть пакетный менеджер Pamac:

  • открываем Pamac включаем в настройках поддержку AUR;

  • в поиске ищем eclipse-cpp-bin, выбираем и подтверждаем установку;

  • помимо пакетов-зависимостей, дается на выбор один из пакетов источника java-runtime (я лично выбрал jre-openjdk 23.0.1.u0-1 extra, вряд ли это имеет большую разницу вы можете выбрать по своему усмотрению).

Не буду описывать установку yay утилиты, это прекрасно гуглится, так что открываем консоль пишем yay -S eclipse-cpp-bin и выбираем зависимость java-runtime по вашему усмотрению.

Ждём пока пакет соберётся и готово, у вас установлен Eclipse!

Установка MinGW

Здесь ещё проще чем с установкой Eclipse, открываем терминал и пишем

sudo pacman -S mingw-w64

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

Настройка Eclipse CDT

Прежде чем настраивать профиль для компиляции под Windows, нужно установить плагин. Для этого открываем Eclipse, затем жмём Help->Install New Software.. в окне ищем кнопку Add и жмем. Появляется окно Add repository в графу Location копируем эту ссылку
https://download.eclipse.org/tools/cdt/releases/latest
Жмём Add, снизу появятся возможные к установке пакеты, в папке CDT Optional Features ищем C/C++ GCC Cross Compiler Support ставим напротив галочку и жмём снизу next, выбираем устанавливаемые пакеты, что мы им доверяем. Ждём установку, рестарт IDE и плагин установлен. Там же можете установить дополнительные плагины если они вам нужны.

Переходим к настройке профиля конфигурации. Нажимаем Project->Properties в окне выбираем C/C++ Build->Tool Chain Editor. Напротив графы Configuration нажимаем кнопку Manage Configuration, затем New, обзываем как хотим copy configuration не имеет значения. Выбираем наш новый профиль и жмём Set Active. Закрываем окошко менеджера конфигураций, В этом же окне Tool Chain Editor, выбираем Cross GCC в Current toolchain и CTD Internal Builder в Current Builder.

Теперь переходим по пути C/C++ Build->Settings проверяем чтобы выбранной конфигурацией была наша, во вкладке Tool Settings жмём Cross Settings.

В поле Prefix пишем x86_64-w64-mingw32- В поле Path нужно прописать тот путь в котором у вас находится файл x86_64-w64-mingw32-g++ лично у меня он был в папке /usr/bin.

Выполните поиск файла в файловом менеджере Thunar из корневой папки так вы найдете путь к файлу x86_64-w64-mingw32-g++.
Откройте вкладку Build Artifact в поле Artifact extension впишите exe

После этого у вас должны компилироваться файлы в формате exe. Но чтобы можно было их проверить рекомендую подключить статическую компиляцию. вернитесь во вкладку Tool Settings перейдите в окошко Cross G++ Compiler->Miscellaneous и вписываем флаги
-static-libstdc++ -static-libgcc в поле other flags(excluded from discovery)
Теперь перейдите в окошко Cross G++ Linker->Miscellaneous, впишите флаг -static в поле linker flags, тот же флаг впишите во флаги Cross GCC Assembler->General. Жмём Apply and Close. Готово!

Для компиляции на Linux используйте стандартные профили Debug или Release, так же установите в Project->Properties->C/C++ Build->Tool Chain Editor выбираем Cross GCC в Current toolchain и CTD Internal Builder в Current Builder. Переходим в C/C++ Build->Settings вкладка Build Artifact в поле Artifact extension впишите o (англ). Не забудьте перед компиляцией удостовериться что вы выбрали нужную конфигурацию.

Заключение

Теперь вы можете написать hello world, скомпилировать программу(не забудьте проверить активный профиль конфигурации и проверяйте чтобы билдер был типа CDT Internal Builder), установить wine, и запустить вашу скомпилированную программу. Для того чтобы увидеть результат hello world в Linux советую добавить строчку cin.get(); перед return 0;.

Благодарю человека под ником Azathtot за то, что помог мне с подключением компилятора к IDE. Мой тред с обсуждением этого вопроса вы можете найти здесь.

Надеюсь это кому-нибудь да поможет, успехов вам в ваших начинаниях.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.