Установка Cygwin для Windows

Jun 09, 2015 02:56



Для того, чтобы в среде Eclipse можно было компилировать C/C++ приложения для Android, понадобится среда окружения Cygwin [1], где есть необходимая утилита make.



[Установка CygWin]

Запустите на выполнение setup-x86.exe или setup-x86_64.exe [1] в зависимости от версии Вашей Windows. На скриншотах показаны шаги выбора в мастере установки. Выберите Install from Internet, каталог установки c:\cygwin, папку для сохранения временных файлов c:\temp, тип подключения к Интернет, адрес сервера, откуда будут скачиваться пакеты.















Выберите для установки пакеты Devel/make и Shells/bash.






Запустите установку и дождитесь её окончания.








[Проверка работоспособности CygWin]

Выполните в командной строке команду:

make -version




В Вашей операционной системе может быть установлено несколько программ, которые могут использовать утилиту make. К примеру, это могут быть Atmel Studio 6, Visual Studio, MinGW, WinAVR и другие тулчейны. Какая из утилит make запустится в ответ на ввод команды make, зависит от переменной окружения PATH, где указаны пути поиска запускаемых программ. Утилита make из пакета Cygwin находится в папке c:\cygwin\bin, поэтому если хотите, чтобы запускалась именно эта версия make, то проверьте наличие пути c:\cygwin\bin в составе переменной PATH. Содержимое переменной PATH можно посмотреть командой консоли set PATH. На скриншоте показан пример такого вывода.




Как можете увидеть на примере этого скриншота, в данном случае переменная PATH не содержит пути c:\cygwin\bin, поэтому будет запускаться утилита make из каталога c:\Program Files\Atmel\AVR Tools\AVR Toolchain\bin (этот путь присутствует в переменной PATH, и стоит первым по порядку). Поэтому будьте внимательны!

Переменную PATH можно настроить через Мой компьютер -> Свойства -> Дополнительно -> Переменные среды.

При запуске make из окна терминала Cygwin Terminal запустится утилита make из каталога c:\cygwin\bin:



[Настройка переменных окружения bash-шелла Cygwin]

Все переменные окружения Windows автоматически импортируются в переменные окружения bash. Однако есть некоторая проблема, связанная с пробелами в именах путей Windows. Такие пути требуют особого внимания, и для их корректного преобразования в пути cygwin требуется специальная настройка.

Для разработки под Android нужно, чтобы были доступны утилиты JDK, SDK, NDK, Ant, которые находятся обычно в путях, обозначенных переменными окружения Windows: JAVA_HOME, ANDROID_SDK, ANDROID_NDK, ANT_HOME соответственно. Если в путях переменных окружения есть пробелы, то такие переменные требуют специального экспорта в окружение bash.

В каталоге c:\cygwin\home\имя_пользователя\ находится файл .bash_profile, в котором делаются основные настройки рабочего окружения среды bash Cygwin. Для настройки переменных окружения, связанных с путями поиска утилит JDK, SDK, NDK, Ant, добавьте в конец файла .bash_profile следующие строки:

export ANT_HOME=`cygpath -u "$ANT_HOME"`
export JAVA_HOME=`cygpath -u "$JAVA_HOME"`
export ANDROID_SDK=`cygpath -u "$ANDROID_SDK"`
export ANDROID_NDK=`cygpath -u "$ANDROID_NDK"`

Команда export назначает указанное значение строковой переменной окружения. Это значение вырабатывает утилита cygpath, которая принимает в качестве параметра значение старой переменной окружения Windows. Обратите внимание, что строка с опциями для запуска команды cygpath обрамлена символом `, который служит для выделения запускаемой команды в конфиге. Не переgутайте ` с другими символами ' и "", это очень важно.

Если после внесения указанных изменений в файл .bash_profile запустить окно терминала Cygwin, то в переменных окружения bash появятся переменные $JAVA_HOME, $ANDROID_SDK, $ANDROID_NDK, $ANT_HOME, которые будут иметь корректные пути cygwin. Вот пример такого пути для переменной $JAVA_HOME:

JAVA_HOME='/cygdrive/c/Program Files/Java/jdk1.7.0_45'

http://microsin.net/programming/android/cygwin-install.html
http://rus-linux.net/MyLDP/algol/cygwin.html
http://unit-systems.ru/cygwin-prevrashchaem-windows-v-linux.html

команды, утилита, windows, linux, скрипты, разное, консоль, coding

Previous post Next post
Up