Как скомпилировать программу в linux

Содержание

Время от времени вам может понадобиться скомпилировать программу из исходного кода. Это включает компиляцию кода C или C ++ во что-то, что мы можем запустить в Linux. В зависимости от программного обеспечения, которое вы хотите скомпилировать, часто делать это необязательно, так как ваш дистрибутив, скорее всего, уже будет иметь двоичный пакет программы в репозиториях программного обеспечения. Фактически, вы должны выбрать бинарные пакеты или компиляцию из исходного кода. Однако, если когда-либо вам нужно будет скомпилировать исходный код, это руководство даст вам некоторые основные знания данного процесса.

Типичный пример

Возьмем программу, написанную на C или C++. Загрузка исходного кода часто связана с загрузкой и распаковкой пакета или клонированием репозитория git. Типичным является выполнение этих трех команд:

$ sudo make install

Первая команда запускает скрипт configure, который анализирует библиотеки, установленные в вашей системе. Если требуемая для компиляции библиотека не установлена, он сообщит об этом, и вам нужно будет установить ее. Вам понадобится не только библиотека, но и файлы разработчика. Файлы с исходным кодом используют функции, имеющиеся в этих библиотеках.

Компиляция кода на Си с помощью gcc на Linux Mint 20

После выполнения команды configure у вас должен быть создан файл Makefile. При запуске make, эта утилита будет читать Makefile в текущем каталоге и запустит компилятор (gcc для C или g ++ для C++) для компиляции программного обеспечения.

Третья команда не является строго необходимой, но рекомендуется для обеспечения общесистемного доступа к вашей программе, чтобы запускать исполняемый файл в терминале из любого места. Эта команда говорит «make» запустить инструкции по установке программы в систему.

Файлы INSTALL или README

Могут иметься дополнительные инструкции, которые должны быть выполнены до начала компиляции. Чтение этого файла (как правило, INSTALL) также поможет узнать, какие библиотеки разработчиков, возможно, потребуется установить в первую очередь. Такие пакеты будут содержать суффикс «-dev», чтобы показать, что они относятся к разработке и должны быть установлены для компиляции. Сценарий configure также может потребовать дополнительных параметров. README содержат любую другую информацию.

Вы даже можете обнаружить, что ни одна из трех команд не запускается. Вместо этого может использоваться другой вариант make, например qmake (для проектов Qt) или cmake.

Установка программы с GitHub

Начнем с установки текстового редактора wxMEdit, найденного на GitHub. Здесь я демонстрирую, как установить программу путем компиляции из исходного кода. Это типичный пример. Если вы посетите репозиторий GitHub, вы увидите, что файл readme содержит сведения о приложении. Никаких инструкций по компиляции нет, поэтому применяется стандартная последовательность с одной разницей: autogen.sh.

Читайте также:
Программа которая монтирует видео в инстаграмм

Сначала мы переходим в каталог, где хотим хранить репозиторий, и клонируем его:
$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git
Autogen.sh

Linux — Компиляция программ из исходников в Ubuntu

Если вы найдете этот файл в исходном коде, вы должны запустить его перед “./configure”, так как он выполнит задачи, которые позволят вам успешно скомпилировать программное обеспечение. Если он отработал успешно, вы можете запустить “./configure”, “make”, а затем «sudo make install» и это все, что вам нужно запустить (в данном случае ничего больше).

В выводе make не должно быть ошибок.

$ sudo make install
Решение проблем

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

Отсутствующие библиотеки

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

Заключение

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

Источник: distrland.blogspot.com

LibreBay

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

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

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

ubuntu terminal

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

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

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

Побуду специалистом 🙂 и расскажу в данной статье, как скомпилировать первые программы на C и заодно на C++ в терминале Ubuntu.

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

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

Запуск текстового редактора
Рис. 1. Запуск текстового редактора.

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

#include int main(int argc, char **argv)

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

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

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

Теперь запускаем терминал, можно через Dash, а можно с помощью горячих клавиш + + . Здесь в начале установим инструменты сборки, куда входят необходимые компиляторы gcc для языка C и g++ для языка C++:

sudo apt install build-essential

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

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

Читайте также:
2 задание информатика программа

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

cd ~/Рабочий стол

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

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

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

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

gcc -Wall -o hello hello.c

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

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

./hello

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

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

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

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

#include int main(int argc, char **argv)

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

g++ -Wall -o hello2 hello2.cpp

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

./hello2

Как скомпилировать и запустить программы на C, C++ в Linux

В этом кратком руководстве объясняется, как компилировать и запускать программы на C / C ++ в операционной системе GNU / Linux.

Если вы студент или новый пользователь Linux, пришедший с платформы Microsoft, то вам может быть интересно, как запускать программы на C или C ++ в дистрибутиве Linux.

Потому что компиляция и запуск кода на платформах Linux немного отличается от Windows. Давайте начнем, не так ли?

Настройка среды разработки

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

Средства разработки включают в себя все необходимые приложения, такие как компиляторы GNU GCC C / C ++, make, отладчики, справочные страницы и другие компоненты, которые необходимы для компиляции и сборки нового программного обеспечения, пакетов и т. д.

После установки необходимых инструментов разработки проверьте их с помощью одной из следующих команд:

$ whereis gcc
$ which gcc
$ gcc -v
Эти команды отобразят путь установки и версию компилятора gcc.

Компиляция и запуск программ на C, C ++ на Linux

Во-первых, давайте посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.

Напишите свой код / программу в вашем любимом редакторе CLI / GUI.

Я собираюсь написать свою программу на C, используя редактор nano.

$ nano itisgood.c

Примечание: вам нужно использовать расширение .c для программ на C или .cpp для программ на C ++.

Скопируйте / вставьте следующий код:
#include int main()
Нажмите Ctrl + O и Ctrl + X, чтобы сохранить и выйти из файла.
Чтобы скомпилировать программу, запустите:
$ gcc itisgood.c -o itisgood
$ cc itisgood.c -o itisgood

Если в вашем коде / программе есть какие-либо синтаксические или семантические ошибки, они будут отображены.

Вы должны исправить их, чтобы продолжить.

Если ошибки нет, компилятор успешно сгенерирует исполняемый файл с именем itisgood в текущем рабочем каталоге.

Наконец, выполните программу, используя команду:

$ ./itisgood

Вы увидите вывод, как показано ниже:

Welcome To itisgood.ru!

Читайте также:
Что такое рабочая область в программе paint

Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:

$ gcc source1.c source2.c -o executable

Чтобы разрешить предупреждения, отладьте символы в выводе:

$ gcc source.c -Wall -Og -o executable
Чтобы скомпилировать исходный код в инструкции ассемблера:
$ gcc -S source.c

Чтобы скомпилировать исходный код без ссылок:

$ gcc -c source.c

Приведенная выше команда создаст исполняемый файл с именем source.o.

Если ваша программа содержит математические функции:

$ gcc source.c -o executable -lm

Для более подробной информации обратитесь к справочным страницам.

$ man gcc

Компиляция и запуск программ C ++

Напишите свою программу на C ++ в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.

Вот простая программа на C ++.

$ cat itisgood.cpp
#include int main()

Чтобы скомпилировать эту программу C ++ в Linux, просто запустите:

$ g++ itisgood.cpp -o itsigood

Если ошибок не было, вы можете запустить эту программу C ++ под Linux, используя команду:

$ ./itisgood

Вы увидите вывод, как показано ниже:

Welcome To itisgood.ru!

В качестве альтернативы, мы можем скомпилировать вышеуказанную программу на C ++, используя команду «make», как показано ниже.

$ make itisgood

Я не использовал расширение .cpp в приведенной выше команде для компиляции программы.

Нет необходимости использовать расширение для компиляции программ на C ++ с помощью команды make.

$ ./itisgood Welcome To itisgood.ru!

Для более подробной информации обратитесь к справочным страницам.

$ man g++

Надеюсь все было достаточно просто и понятно!

itisgood

previous post

Как исправить ошибку «repository is not valid yet»
Как остановить запросы с пустым или неправильным заголовком хоста

You may also like

Руководство для начинающих по созданию первого пакета.

Феноменальная популярность электроники Xiaomi: основные причины

Получение вчерашней даты в Bash: Практическое руководство

Использование специальных гелей при мышечных болях

Как расширить/увеличить файловую систему VxFS на Linux

Услуги по размещению серверного оборудования в ЦОД

Для чего выполняется ИТ консалтинг на предприятиях?

Как выйти из telnet

Как запустить JAR-файл на Linux

⚓ Создание родительских каталогов с помощью Curl с.

Leave a Comment Cancel Reply

• Свежие записи

  • Руководство для начинающих по созданию первого пакета Debian
  • Феноменальная популярность электроники Xiaomi: основные причины
  • Лаки Джет онлайн игра.
  • Можно ли выучить английский самостоятельно?
  • Техническая поддержка сайта на 1С-Битрикс: ключевые направления и нюансы
  • Как переместить весь репозиторий Git
  • GitLab CI: Как создавать образы Docker в Kubernetes
  • Идеальные звуки: Всё, что нужно знать о лучших наушниках на рынке
  • Какие преимущества имеет современная техника Apple
  • Получение вчерашней даты в Bash: Практическое руководство

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

Создание пакета Debian может показаться сложной задачей для новичков, но как только вы поймёте процесс, он станет вполне выполнимым. Давайте покажем вам создание…

Xiaomi, китайская технологическая компания, в последние годы штурмом захватила рынок электроники. В интернет-магазине pixel-centre.ru вас ждет огромный выбор товаров данного бренда. Одним из ключевых факторов…

Лаки Джет: новый хит среди онлайн-игр Что такое Лаки Джет? Многие наверняка слышали это название, и это неслучайно. Популярность проекта Lucky Jet набирает обороты в категории…

Каждый год в словарь английского языка добавляется около четырех тысяч новых слов, что делает его одним из самых больших словарей в мире. Самостоятельное изучение…

1С-Битрикс – популярная российская CMS. Многофункциональность платформы позволяет создать как простой лендинг, так и сложноустроенный интернет-магазин или сервис для большой аудитории. Но мало…

Источник: itisgood.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru