No Image

Как компилировать в ubuntu

СОДЕРЖАНИЕ
250 просмотров
10 марта 2020

Содержание

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

Программы обычно распространяются в упакованных архивах, это файлы с расширениями

Нужно понимать отличие между архиватором и упаковщиком.

Для архивации директорий и файлов используется программа tar; результатом её работы является файл с расширением .tar. Грубо говоря, это копия файловой системы – директорий и файлов с их атрибутами и правами доступа, помещённая в один файл.

Данный файл по размеру будет чуть больше, чем суммарный размер файлов, которые были архивированы. Поэтому (а может и по другой причине) используют упаковщики – программы, которые позволяют уменьшить размер файла без потери данных.

Программа tar умеет распаковывать, поэтому не нужно вызывать gunzip, а можно просто указать программе tar, что файл нужно cначала распаковать. Например, команда

сразу распакует и разархивирует. Отличие файлов с расширениями

лишь в том, что использовались разные упаковщики, программа tar определяет метод сжатия автоматически и дополнительных опций в данном случае не требуется.

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

Для сборки программ в GNU/Linux используется (в основном) программа make, которая запускает инструкции из Makefile, но поскольку дистрибутивов GNU/Linux много, и они все разные, то для того чтобы собрать программу, нужно для каждого дистрибутива отдельно прописывать пути,где какие лежат библиотеки и заголовочные файлы. Программисты не могут изучать каждый дистрибутив и для каждого отдельно создавать Makefile. Поэтому придумали конфигураторы, которые «изучают» систему, и в соответствии с полученными знаниями создают Makefile. Но на конфигураторе они не остановились и придумали конфигураторы конфигураторов …на этом они остановились

Для сборки нам нужны компиляторы: они прописаны в зависимостях пакета build-essential, так что достаточно установить его со всеми зависимостями. Ещё нужны autoconf и automake.

Итак, чтобы собрать что-то из исходников, нужно сначала собрать конфигуратор; как собрать конфигуратор, описано в файле configure.in. Для сборки конфигуратора необходимо выполнить

Если таких скриптов в архиве не оказалось, то можно выполнить последовательно следующие команды:

Все эти команды используют файл configure.in. После выполнения этих команд создастся файл configure. После этого необходимо запустить конфигуратор для проверки наличия всех зависимостей, а также установки дополнительных опций сборки (если возможно) и просмотра результата установки (опционально- может не быть)

Конфигуратор построит Makefile основываясь на полученных знаниях и файле makefile.am. Можно передать конфигуратору опции, предусмотренные в исходниках программы, которые позволяют включать/отключать те или иные возможности программы, обычно узнать о них можно командой

Также есть набор стандартных опций, вроде

, которая указывает, какой каталог использовать для установки. Для Ubuntu обычно

БЕЗ слеша в конце! Теперь можно запустить процесс сборки самой программы командой

Для сборки достаточно привелегий обычного пользователя. Окончанием сборки можно считать момент, когда команды в консоли перестанут «беспорядочно» выполняться и не будет слова error. Теперь всё скомпилировано и готово для установки.

Читайте также:  Где находятся удаленные файлы в компьютере

Усилия потраченные на Правильную установку в последствии с лихвой окупятся в случае удаления или обновления устанавливаемого программного обеспечения.

Правильная установка(Вариант №1)

Установка при помощи утилиты checkinstall. Для установки выполните

Для создания и установки deb-пакета необходимо выполнить

Правильная установка(Вариант №2)

Быстрое создание deb-пакета «вручную».

Установка (вариант №3)

Процедура создания deb-пакета подробно описана в данной статье.

Неправильная установка

Для установки необходимо выполнить

Для удаления пакета, установленного данным способом необходимо выполнить в корневой директории исходников программы (там где вы запускали make install).

Часто на этапе конфигурации конфигуратор сообщает, что нехватает той или иной библиотеки. Название библиотеки, которое он сообщает, не всегда соответствует названию пакета в Ubuntu. Из собственного опыта могу посоветовать поискать в Синаптике нужный пакет, исключив префикс lib, если нашлось несколько пакетов различающихся приставкой -dev в названии, то вам нужно установить именно -dev пакет (обычно он тянет за собой и не -dev пакет). Можно ещё поискать с помощью http://packages.ubuntu.com/, введя имя библиотеки в поиск по содержимому пакетов, аналогично, если найдётся dev и не dev, нужны оба . Ну или просто поискать в Google.

Пакеты с буквами mm в конце описания — это пакеты для C++ программ. Список для bmpx, но подойдёт почти для любой GTK2/Gnome программы. Так что если не получается собрать, то посмотрите на этот список и сверьте с тем что у вас установлено.

В этом уроке разберем как установить IDE Code::Blocks, все необходимые нам библиотеки и скомпилировать проект.

И так, сначала давайте установим Code::Blocks, его можно установить скачаd с официального сайта пакет и поставить его.

заходим система > администрирование > источники приложений> по сторонних производителей и добавляем

далее в терминале набираем:

после чего идем на офф сайт этого проекта и качаем архив с бинарниками:
http://www.codeblocks.org/downloads/5

распаковываем архив он содержит:

ну и теперь установим все это дело опять написав в терминале:

все, программа готова,находится в разделе программирования.

Теперь установим библиотеки

нам для разработки понадобятся SDL и OpengGL

установим самым простым способом
заходим в терминал и пишем

теперь надо установить OpenGL

в терминале пишем

Ну вот у нас есть теперь основа для программирования =)

Теперь разберем как компилировать.

Компилировать исходники можно 2 способами
1 это вы пишите в блокноте код и компилируете через терминал, но ведь зачем мы мучались и ставили Code::Blocks 2 способ это компиляция и привязка библиотек в C::B

создадим сходный файл, например main.cpp
в нем напишем что нить вроде:

теперь сохраним, зайдем в терминал и переместимся в папку в которой лежит наш исходник
теперь пишем вот такой вот код:

этот код скомпилирует наш исходник в исполняемый файл с именем main
тут все просто:
g++ – означает что будем компилировать
main.cpp – указываем исходник
-o – указываем что будет на выходе
main – указываем имя файла на выходе

Читайте также:  Как переустановить itunes на компьютере

если вам надо дописать какие то еще исходники, то их надо писать после g++

теперь надо подключить библиотеки, их надо писать после того как вы написали все свои исходники
основные это -lSDL -lGL -lGLU
-l означает что это библиотека
на сколько я знаю все библиотеки пишутся большими буквами но -lglut с маленькой

Запускаем наш C::B

И так, что мы видим) а видим мы наш IDE (впрочем как ни странно)

Так, первым делом нам нужно создать проект (без разницы какой)

По середине окна видим Create new project , тыкаем сюда, появляется еще одно окно где нужно выбрать какой проект мы делаем, я вам рекомендую выбирать Empty project , так значит тыкаем в него, далее появляется окно где нам нужно сообщить сведения о проекте, тыкаем далее и теперь окно где мы указываем название и местоположение проекта, указали, тыкаем дальше, теперь выбираем компилятор, я почти все время выбираю GNU GCC Compiler , он обычный компилятор C/C++, ну все проект сделали.

Теперь нам нужно указать библиотеки какие будут линковаться, жмем Projects/Build options , появляется окно, слева нам нудно выбрать самое первое(название проекта будет)
теперь заходим в Linker Settings и в Link libraries добавляем соответствующие библиотеки, но их добовлять нужно так как и при обычной линковке но без -l
тоесть будет SDL GL GLU glut (добавлять нужно по одному).

Все, библиотеки прилинковали, теперь как мне кажется нужно изменить раскраску кода (стандартная она просто ужасна) заходим в Setting/Editor/Syntax Highlighting и там настраиваем, если вас не устраивает то что скобки сами закрываются (меня это ужасно достает) то переходим в General Setting и убираем галку напротив Brace completion .

Вот теперь среда настроена и все готово для кодинга)

Написали программу и жмем на кнопочку Build and run либо F9 .

Вот и все, на этом я думаю все, если будут вопросы то спрашивайте.

Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.

понедельник, 5 декабря 2016 г.

Как скомпилировать программу на C/C++ в Ubuntu

Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.

Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:

В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.

Текстовый редактор gedit

Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.

Читайте также:  Где найти яндекс диск загрузки
Рис. 1. Запуск текстового редактора.

Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:

Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.

Рис. 2. Программа hello, World.

Компиляция программы на C

Для установки требуется ввести пароль, при вводе которого может сложиться впечатление, что ничего не происходит, но на самом деле терминал просто в целях безопасности не отображает символы.

Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.

Для перехода на рабочий стол, команда будет следующей:

Обратите внимание на символ обратной косой черты в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ

в начале пути обозначает путь до домашней папки пользователя.

Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).

Рис. 3. Работа в терминале.

Команда компиляции для программы на C выглядит следующим образом:

где:

  • gcc — компилятор для языка программирования C;
  • -Wall — ключ вывода всех предупреждений компилятора;
  • -o hello — с помощью ключа -o указывается имя выходного файла;
  • hello.c — имя нашего исходного файла, который компилируем.

Выполнив команду ls , увидим, что появилась наша скомпилированная программа hello , отмеченная цветом, обозначающим исполняемые программы.

В завершение запустим hello , вводом имени программы с префиксом ./ :

Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)

Рис. 4. Работа в терминале, продолжение.

Компиляция программы на С++

Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:

Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:

Для запуска результата вводим в терминале:

Заключение

Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.

Более подробно об программировании в Ubuntu или в любом другом дистрибутиве Linux можно прочитать в книгах:

  • Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
  • Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
  • Колисниченко Д. Н. — Разработка Linux-приложений.

Комментировать
250 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector