Компиляция приложений на Си и 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 — приложение для совместного рисования.