Компиляция приложений на Си и C++

Компиляция приложений на Си и C++ #

Основной подход по компиляции приложения #

  1. Найти официальное руководство по установке.
  2. Следовать инструкции.

Если вы не смогли найти официальное руководство, то придётся исследовать исходный код и разбираться в деталях работы систем сборки.

Нахождение библиотек-зависимостей #

Для компиляции приложения необходимо поставить пакеты, включающие заголовочные файлы библиотек. В Debian такие пакеты обычно начинаются с префикса lib, обозначающего библиотеку, и заканчивающиеся суффиксом -dev, обозначающим, что он содержит заголовочный файл. В Alt Linux пакеты с библиотеками тоже обычно начинаются с префикса lib, а суффикс используется -devel.

Если во время сборки система сообщает об отсутствии заголовочного файла, файла с расширением .h, тогда следует найти соответсттвующий пакет:

  • С помощью apf.
  • С помощью приложения epm, флаг -sf.

Если во время сборки система сообщает об отсутствии необходимой библиотеки, то её следует искать по имени пакета:

  • С помощью apt-cache.
  • С помощью epm, команда search.
  • С помощью поиска по имени пакетов на packages.altlinux.org.

Использование GNU Autotools #

Краткая справка по использованию Autotools #

В самом кратком случае для сборки приложения с помощью Autotools необходимо выполнить следующие действия:

  1. Создать сборочный файл системы make с помощью скрипта ./configure.
  2. Выполнить сборку приложения, выполнив сборку в параллель, make -j.
  3. Установить приложение. Для этого надо поднять права до уровня суперпользователя, затем выполнить команду по установке файлов make install.

Документация #

Задачи на сборку приложения #

Соберите следующие приложения. При сборке приложения составьте список пакетов, который необходимо установить для выполнения сборки.

  • GNU Parallel — приложение для выполнения действий параллельно.
  • Silver Searcher Ag — приложение для быстрого поиска информации в исходных кодах проекта.
  • Calcurse — приложение для управления собственным временем в формате календаря.

Использование CMake #

Краткая справка по использованию CMake #

Для сборки приложения с использованием CMake:

  1. Создать каталог для сборки приложения, например build:
mkdir build
cd build
  1. Сгенерировать конфигурацию сборочного инструмента на основании конфигурации CMakeLists.txt:
cmake ../
  1. Запустить сборку с помощью созданного инструмента:
make -j

Или с помощью вызова команды cmake:

cmake --build -j .
  1. Установить приложение. Для этого необходимо поднять привилегии до уровня суперпользователя, а затем выполнить установку:
make install

Или с помощью вызова соответствующей команды cmake:

cmake --install .

Документация #

Задача #

Соберите и установите следующие приложения с использованием системы сборки CMake. Сформируйте список пакетов, который необходим для компиляции каждого из этих приложений.

  • cppcheck — приложение для анализа качества исходного кода на языках Си и C++.
  • manticoresearch — база данных для полнотекстового поиска.
  • Drawpile — приложение для совместного рисования.

© A. M. Васильев, 2022, CC BY-SA 4.0, andrey@crafted.su