Для того, чтобы в среде 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. К примеру, это могут быть 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'
[Ссылки]
1. Installing and Updating Cygwin Packages site:cygwin.com. |