Компиляция программы из Linux в Windows при помощи Сygwin, GCC и Eclipse CDT

Недавно мне срочно понадобилось установить небольшое написанное мною консольное приложение на машину с Windows которое изначально предназначаось для Linux. При разработке я использовалал среду Eclipse CDT. Особенность приложения было в том, что оно работало с com портом при помощи стандартных средств из Linux (termios.h). Сначала я обнаружил, что под windows используются немного другие средства работы с последовательным интерфейсом изучать который не было ни какого интереса. Я немного поразмыслил и вспомнил, что есть такая штука как Cygwin и в его компонентах есть специальная версия компилятора gcc которая может компилировать приложения использующие POSIX api как win32 приложения.

И так что мы имеем. Проект из Eclipse c исходниками на C (Си). Для начала нужно установить Cygwin c GCC. Качаем его с сайта проекта http://cygwin.org/ (Прямая ссылка). Запускаем setup.exe, выбираем зеркало и следующие обязательные пакеты:

  • gcc4-core
  • make
  • git-core

Установку Cygwin устанавливаем в каталог c:/cygwin

После установки добавляем в системную. переменную окружения Path путь к Cygwin:

Далее, качаем с сайта http://www.eclipse.org/ (прямая ссылка) Eclipse с CDT плагином. Распаковываем его куда-нибудь(например в корень диска C:) Кидаем ярлык на рабочий стол. Закускаем Eclipse и импортируем наш проект:

После импорта проекта настраиваем пути к компилятору и Includes.

Нажимаем правой кнопкой на проекте и выбираем - Properties:

Сначала я выбрал правильную кодировку моего проекта:

Далее выбирал соответствующий Cygwin GCC toolchain

Если все выбрано правильно, то должен появиться соответствующие Includes

Теперь выбираем в Build configuration  - Release:

Также хочу отметить в Windows существует понятие оконного и консольного приложения для того чтобы сорать оконное, я добавил ключ -mwindows для линковщика, т.к. по умолчанию собирается консольное приложение(ключ -mconsole) и при запуске мигает консоль. Можно запускать компиляцию.

Возможные проблемы:

Подобные ошибки могут возникать, либо по тому что вы не выбрали все нужные компонены при установке Cygwin, либо у вас не прописан путь к Cygwin/bin в переменной окружения Path.

Теги: , , ,

Дата: 19 декабря 2011

Автор: andreykyz

Комментарии: 0

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>