Компиляция приложений на Си и C++ #
Основной подход по компиляции приложения #
- Найти официальное руководство по установке.
- Следовать инструкции.
Если вы не смогли найти официальное руководство, то придётся исследовать исходный код и разбираться в деталях работы систем сборки.
Нахождение библиотек-зависимостей #
Для компиляции приложения необходимо поставить пакеты, включающие заголовочные файлы библиотек. В Debian такие пакеты обычно начинаются с префикса lib, обозначающего библиотеку, и заканчивающиеся суффиксом -dev, обозначающим, что он содержит заголовочный файл. В Alt Linux пакеты с библиотеками тоже обычно начинаются с префикса lib, а суффикс используется -devel.
Если во время сборки система сообщает об отсутствии заголовочного файла, файла с расширением .h, тогда следует найти соответсттвующий пакет:
- С помощью
apf. - С помощью приложения
epm, флаг-sf.
Если во время сборки система сообщает об отсутствии необходимой библиотеки, то её следует искать по имени пакета:
- С помощью
apt-cache. - С помощью
epm, командаsearch. - С помощью поиска по имени пакетов на packages.altlinux.org.
Использование GNU Autotools #
Краткая справка по использованию Autotools #
В самом кратком случае для сборки приложения с помощью Autotools необходимо выполнить следующие действия:
- Создать сборочный файл системы make с помощью скрипта
./configure. - Выполнить сборку приложения, выполнив сборку в параллель,
make -j. - Установить приложение. Для этого надо поднять права до уровня суперпользователя, затем выполнить команду по установке файлов
make install.
Документация #
- Основы сборки проектов при помощи Autotools
- Краткое введение в GNU autoconf
- Пример. Сборка Gwydon в среде Linux/Unix
- Autotools FAQ
- Introduction to GNU Autotools
Задачи на сборку приложения #
Соберите следующие приложения. При сборке приложения составьте список пакетов, который необходимо установить для выполнения сборки.
- GNU Parallel — приложение для выполнения действий параллельно.
- Silver Searcher Ag — приложение для быстрого поиска информации в исходных кодах проекта.
- Calcurse — приложение для управления собственным временем в формате календаря.
Использование CMake #
Краткая справка по использованию CMake #
Для сборки приложения с использованием CMake:
- Создать каталог для сборки приложения, например
build:
mkdir build
cd build
- Сгенерировать конфигурацию сборочного инструмента на основании конфигурации
CMakeLists.txt:
cmake ../
- Запустить сборку с помощью созданного инструмента:
make -j
Или с помощью вызова команды cmake:
cmake --build -j .
- Установить приложение. Для этого необходимо поднять привилегии до уровня суперпользователя, а затем выполнить установку:
make install
Или с помощью вызова соответствующей команды cmake:
cmake --install .
Документация #
- Основы сборки проектов на С/C++ при помощи CMake
- Шпаргалка по CMake
- Введение в CMake
- CMake User Interaction Guide
Задача #
Соберите и установите следующие приложения с использованием системы сборки CMake. Сформируйте список пакетов, который необходим для компиляции каждого из этих приложений.
- cppcheck — приложение для анализа качества исходного кода на языках Си и C++.
- manticoresearch — база данных для полнотекстового поиска.
- Drawpile — приложение для совместного рисования.