﻿define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/dev/head &#187; Cygwin</title>
	<atom:link href="http://devhead.ru/cat/cygwin/feed" rel="self" type="application/rss+xml" />
	<link>http://devhead.ru</link>
	<description>Статьи и видео уроки</description>
	<lastBuildDate>Mon, 30 Jan 2017 11:12:34 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.37</generator>
	<item>
		<title>Компиляция программы из Linux в Windows при помощи Сygwin, GCC и Eclipse CDT</title>
		<link>http://devhead.ru/read/kompilyaciya-programmy-iz-linux-v-windows-pri-pomoshhi-sygwin-gcc-i-eclipse-cdt</link>
		<comments>http://devhead.ru/read/kompilyaciya-programmy-iz-linux-v-windows-pri-pomoshhi-sygwin-gcc-i-eclipse-cdt#comments</comments>
		<pubDate>Mon, 19 Dec 2011 06:05:15 +0000</pubDate>
		<dc:creator><![CDATA[andreykyz]]></dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Eclipse CDT]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[win32]]></category>

		<guid isPermaLink="false">http://devhead.ru/read/kompilyaciya-programmy-iz-linux-v-windows-pri-pomoshhi-sygwin-gcc-i-eclipse-cdt/</guid>
		<description><![CDATA[Недавно мне срочно понадобилось установить небольшое написанное мною консольное приложение на машину с Windows которое изначально предназначаось для Linux. При разработке я использовалал среду Eclipse CDT. Особенность приложения было в том, что оно работало с com портом при помощи стандартных средств из Linux (termios.h). Сначала я обнаружил, что под windows используются немного другие средства работы [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Недавно мне срочно понадобилось установить небольшое написанное мною консольное приложение на машину с Windows которое изначально предназначаось для Linux. При разработке я использовалал среду Eclipse CDT. Особенность приложения было в том, что оно работало с com портом при помощи стандартных средств из Linux (termios.h). Сначала я обнаружил, что под windows используются немного другие средства работы с последовательным интерфейсом изучать который не было ни какого интереса. Я немного поразмыслил и вспомнил, что есть такая штука как Cygwin и в его компонентах есть специальная версия компилятора gcc которая может компилировать приложения использующие POSIX api как win32 приложения.</p>
<p><span id="more-1440"></span>И так что мы имеем. Проект из Eclipse c исходниками на C (Си). Для начала нужно установить<strong> Cygwin c GCC</strong>. Качаем его с сайта проекта http://cygwin.org/ (<a title="Cygwin setup" href="http://cygwin.com/setup.exe">Прямая ссылка</a>). Запускаем setup.exe, выбираем зеркало и следующие обязательные пакеты:</p>
<ul>
<li>gcc4-core</li>
<li>make</li>
<li>git-core</li>
</ul>
<p>Установку Cygwin устанавливаем в каталог c:/cygwin</p>
<p><img src="../../wp-content/uploads/2011/12/cygwinProcess.png" style="vertical-align: middle;" height="397" width="540" /></p>
<p>После установки добавляем в системную. переменную окружения Path путь к Cygwin:</p>
<p><img src="../../wp-content/uploads/2011/12/systemPath.png" /></p>
<p>Далее, качаем с сайта http://www.eclipse.org/ (<a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR1/eclipse-cpp-indigo-SR1-incubation-win32.zip">прямая ссылка</a>) <strong>Eclipse с CDT</strong> плагином. Распаковываем его куда-нибудь(например в корень диска C:) Кидаем ярлык на рабочий стол. Закускаем Eclipse и импортируем наш проект:</p>
<ol>
<li><img src="../../wp-content/uploads/2011/12/importProgect.png" height="213" width="245" /></li>
<li><img src="../../wp-content/uploads/2011/12/import_1.png" /></li>
<li><img src="../../wp-content/uploads/2011/12/import_2.png" height="522" width="514" /></li>
</ol>
<p>После импорта проекта настраиваем пути к компилятору и Includes.</p>
<p>Нажимаем правой кнопкой на проекте и выбираем - Properties:</p>
<p><img src="../../wp-content/uploads/2011/12/openProperties.png" height="114" width="298" /></p>
<p>Сначала я выбрал правильную кодировку моего проекта:</p>
<p><img src="../../wp-content/uploads/2011/12/properties.png" height="542" width="706" /></p>
<p>Далее выбирал соответствующий Cygwin GCC toolchain</p>
<p><img src="../../wp-content/uploads/2011/12/chooseToolChain.png" /></p>
<p>Если все выбрано правильно, то должен появиться соответствующие Includes</p>
<p><img src="../../wp-content/uploads/2011/12/includes.png" height="204" width="359" /></p>
<p>Теперь выбираем в Build configuration  - Release:</p>
<p><img src="../../wp-content/uploads/2011/12/setR.png" /></p>
<p>Также хочу отметить в Windows существует понятие оконного и консольного приложения для того чтобы сорать оконное, я добавил ключ ﻿-mwindows для линковщика, т.к. по умолчанию собирается консольное приложение(ключ -mconsole) и при запуске мигает консоль. Можно запускать компиляцию.</p>
<p><strong>Возможные проблемы</strong>:</p>
<p><img src="../../wp-content/uploads/2011/12/pathProblem.png" height="92" width="343" /></p>
<p><img src="../../wp-content/uploads/2011/12/pathMakeError.png" height="59" width="252" /></p>
<p>Подобные ошибки могут возникать, либо по тому что вы не выбрали все нужные компонены при установке Cygwin, либо у вас не прописан путь к Cygwin/bin в переменной окружения Path.</p>
]]></content:encoded>
			<wfw:commentRss>http://devhead.ru/read/kompilyaciya-programmy-iz-linux-v-windows-pri-pomoshhi-sygwin-gcc-i-eclipse-cdt/feed</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->