Gcc linux где находится
В этой статье объясняется, как установить GCC в Ubuntu 20.04.
Установка GCC в Ubuntu 20.04
Репозитории Ubuntu по умолчанию содержат метапакет с именем «build-essential», который включает коллекцию компиляторов GNU, отладчик GNU и другие библиотеки и инструменты разработки, необходимые для компиляции программного обеспечения.
Чтобы установить пакеты средств разработки, выполните следующую команду от имени пользователя root или пользователя с правами sudo :
Команда устанавливает множество пакетов, включая gcc , g++ и make .
Вы также можете установить справочные страницы об использовании GNU / Linux для разработки:
Убедитесь, что компилятор GCC успешно установлен, выполнив следующую команду, которая выводит версию GCC:
Репозитории Ubuntu 20.04 предоставляют GCC версии 9.3.0 :
Вот и все. В вашей системе Ubuntu установлены инструменты и библиотеки GCC.
Компиляция примера Hello World
Скомпилировать базовую программу на C или C ++ с помощью GCC довольно просто. Откройте текстовый редактор и создайте следующий файл:
Сохраните файл и скомпилируйте его в исполняемый файл:
Это создает двоичный файл с именем hello в том же каталоге, где вы запускаете команду.
Запустите программу hello с помощью:
Программа должна напечатать:
Установка нескольких версий GCC
В этом разделе приведены инструкции по установке и использованию нескольких версий GCC в Ubuntu 20.04. Новые версии компилятора GCC включают новые функции и улучшения оптимизации.
На момент написания этой статьи репозитории Ubuntu по умолчанию включают несколько версий GCC, от 7.xx до 10.xx
В следующем примере мы установим последние три версии GCC и G ++.
Установите нужные версии GCC и G ++, набрав:
Позже, если вы захотите изменить версию по умолчанию, используйте команду update-alternatives :
Вам будет представлен список всех установленных версий GCC в вашей системе Ubuntu. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .
Команда создаст символические ссылки на определенные версии GCC и G ++.
Выводы
Мы показали вам, как установить GCC в Ubuntu 20.04. Теперь вы можете посетить официальную страницу документации GCC и узнать, как использовать GCC и G ++ для компиляции программ на C и C ++.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Коллекция компиляторов GNU (GCC) - это набор компиляторов и библиотек для языков программирования C, C ++, Objective-C, Fortran, Ada, Go и D. Многие проекты с открытым исходным кодом, включая инструменты GNU и ядро Linux, скомпилированы с помощью GCC.
Те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.
Прежде чем вы приступите
Чтобы добавлять новые репозитории и устанавливать пакеты в вашей системе Ubuntu, вы должны войти в систему как пользователь root или пользователь с привилегиями sudo .
Установка GCC на Ubuntu
Репозитории Ubuntu по умолчанию содержат метапакет с именем, build-essential который содержит компилятор GCC и множество библиотек и других утилит, необходимых для компиляции программного обеспечения.
Выполните следующие шаги, чтобы установить компилятор GCC Ubuntu 18.04:
Начните с обновления списка пакетов:
Установите build-essential пакет, набрав:
Команда устанавливает кучу новых пакетов , включая gcc , g++ и make .
Вы также можете установить справочные страницы об использовании GNU / Linux для разработки:
Чтобы убедиться, что компилятор GCC успешно установлен, используйте gcc --version команду, которая выводит версию GCC:
Версия GCC по умолчанию, доступная в репозиториях Ubuntu 18.04 7.4.0 :
Вот и все. GCC теперь установлен в вашей системе, и вы можете начать его использовать.
Компиляция примера Hello World
Скомпилировать базовую программу на C или C ++ с помощью GCC довольно просто. Откройте текстовый редактор и создайте следующий файл:
Сохраните файл и скомпилируйте его в исполняемый файл с помощью следующей команды:
Это создаст двоичный файл с именем hello в том же каталоге, где вы запускаете команду.
Запустите hello программу с помощью:
Программа должна напечатать:
Установка нескольких версий GCC
В этом разделе приведены инструкции по установке и использованию нескольких версий GCC в Ubuntu 18.04. Новые версии компилятора GCC включают поддержку новых языков, лучшую производительность и расширенные функции.
На момент написания этой статьи репозитории Ubuntu по умолчанию включают несколько версий GCC, от 5.x.x до 8.x.x . Последняя версия GCC, 9.1.0 доступная в PPA Ubuntu Toolchain.
В следующем примере мы установим последние три версии GCC и G ++.
Сначала добавьте ubuntu-toolchain-r/test PPA в вашу систему с помощью:
Установите нужные версии GCC и G ++, набрав:
Приведенные ниже команды настраивают альтернативу для каждой версии и связывают с ней приоритет. Версия по умолчанию - это версия с наивысшим приоритетом, в нашем случае это так gcc-9 .
Позже, если вы захотите изменить версию по умолчанию, используйте update-alternatives команду:
Вам будет представлен список всех установленных версий GCC в вашей системе Ubuntu. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .
Команда создаст символические ссылки на определенные версии GCC и G ++.
Вывод
Вы успешно установили GCC на свой Ubuntu 18.04. Теперь вы можете посетить официальную страницу документации GCC и узнать, как использовать GCC и G ++ для компиляции программ на C и C ++
Путь поиска для заголовочных файлов и библиотек Linux
1.1 В какую папку устанавливаются библиотечные файлы .so и заголовочные файлы .h при установке glibc, как gcc может правильно найти соответствующие папки?
Когда мы устанавливаем –prefix = / path / при сборке gcc, gcc устанавливается в / path /. По умолчанию gcc будет искать библиотеки в / path / lib / и искать файлы заголовков в / path / include /.
Например, в обычных системах Linux и gcc, и glibc установлены в каталоге / usr /, поэтому исполняемый файл gcc находится в каталоге / usr / bin, а файл библиотеки glibc находится в / usr / lib В этом каталоге файл заголовка glibc находится в каталоге / usr / include.
Разумеется, указанное выше соотношение не является точным и может быть указано вручную при установке gcc и glibc. Вы можете использовать команду "gcc -print-search-dirs" для просмотра пути поиска библиотеки gcc:
Вы можете использовать следующие методы, чтобы изменить путь к библиотеке и файлу заголовка, который gcc ищет по умолчанию:
- (1) Используйте «gcc -nostdlib -Lusrlibpath», чтобы изменить путь поиска библиотеки по умолчанию для gcc, и используйте «gcc -nostdinc -Iusrincpath», чтобы изменить путь поиска заголовка по умолчанию для gcc.
- (2) Используйте «gcc -Wl, -sysroot =», чтобы изменить путь поиска библиотеки по умолчанию для gcc.
- (3) Измените файл спецификации gcc, чтобы настроить любые параметры gcc.
Спецификации - это файлы конфигурации gcc. Этот метод модификации является самым мощным, но он также является самым сложным и рискованным, поскольку файл спецификации gcc неясен и труден для понимания. Пока я не буду изменять его, но сначала я расскажу о существовании этого метода.
Используйте команду "gcc -v", чтобы просмотреть путь к спецификациям gcc:
В некоторых установках gcc используются встроенные спецификации, но нет внешних файлов спецификаций:
Для встроенной спецификации вы можете использовать команду "gcc -dumpspecs" для просмотра содержимого конкретной спецификации:
Вы также можете использовать "gcc -specs =", чтобы указать файл спецификации gcc.
- (4) Передается ли конфигурация gcc по умолчанию командой configure во время сборки?
Используйте команду "gcc -v" для просмотра значения конфигурации gcc. Параметры конфигурации описаны в файле gcc-4.1.0 \ gcc \ doc \ install.texi.
1.2 Каковы пути поиска библиотеки ссылок, когда программа связана?
При связывании конфигурация пути поиска библиотеки имеет следующие методы: (Для конкретного использования, пожалуйста, обратитесь к описанию в главе примера)
- (1) Используйте «gcc -Llibpath -llibname», чтобы указать путь поиска библиотеки ссылок.
- (2) Используйте переменную среды "LIBRARY_PATH", чтобы указать путь поиска библиотеки ссылок.
- (3) Используйте «SEARCH_DIR» в сценарии подключения ld, чтобы указать путь поиска библиотеки ссылок.
1.3 Когда программа работает, каковы пути поиска в библиотеке динамических ссылок?
При связывании конфигурация пути поиска библиотеки имеет следующие методы: (Для конкретного использования, пожалуйста, обратитесь к описанию в главе примера)
- (1) При компиляции используйте «gcc -Wl, -rpath», чтобы указать путь поиска библиотеки динамических ссылок во время выполнения, и жестко запишите его в опцию «RPATH» файла ELF.
- (2) Переменная среды «LD_RUN_PATH» используется для указания пути поиска библиотеки динамических ссылок во время компиляции, и она жестко задана в опции «RPATH» файла ELF.
- (3) Используйте переменную среды "LD_LIBRARY_PATH", чтобы указать путь поиска библиотеки динамических ссылок во время выполнения.
- (4) Используйте файл конфигурации "/etc/ld.so.conf", чтобы указать путь поиска библиотеки динамических ссылок во время выполнения.
- (5) Используйте путь поиска по умолчанию "/ lib, / usr / lib" библиотеки динамических ссылок во время выполнения.
1.4. Каковы пути поиска заголовочных файлов при компиляции программы?
При компиляции конфигурация пути поиска файла заголовка имеет следующие методы: (Для конкретного использования, пожалуйста, обратитесь к описанию в главе примера)
- (1) Используйте «gcc -I incpath», чтобы указать путь поиска файла заголовка во время компиляции.
- (2) Используйте переменную окружения "C_INCLUDE_PATH", чтобы указать путь поиска файла заголовка во время компиляции.
- (3) Использовать путь поиска заголовка gcc по умолчанию при компиляции.
Описание общих каталогов заголовочных файлов:
/ usr / src / linux / - это путь к исходному коду ядра, а / usr / src / linux / include содержит заголовочный файл ядра, который обычно используется при компиляции модуля.
Путь / usr / include - это в основном заголовочный файл glibc, который используется для компиляции файлов пользовательского режима. Однако / usr / include также содержит папки linux / и asm /, необходимые для заголовочных файлов ядра, но эти две папки в основном используются для совместимости, а / usr все еще используется для заголовочных файлов ядра. / SRC / Linux / включить.
1.5. При настройке кросс-компилятора, каковы конфигурации пути поиска?
При создании кросс-компилятора необходимо обратить внимание на конфигурацию четырех связанных путей: путь файла библиотеки, связанный во время компиляции, путь файла заголовка, используемого во время компиляции, путь двоичного инструмента, используемого во время компиляции, и имя динамического загрузчика, указанного во время компиляции путь.
- (1) Путь к файлу библиотеки, связанному во время компиляции:
Если не указан, это должен быть путь по умолчанию, связанный с путем установки. Если вы хотите указать, вы можете использовать опцию «LIB_PATH» при компиляции ld в binutils:
- (2) Путь к заголовочному файлу, используемому во время компиляции:
- (3) Бинарный путь инструмента, используемый во время компиляции:
Путь двоичного инструмента по умолчанию можно просмотреть с помощью следующей команды:
Используя указанный двоичный инструмент, вы можете использовать опцию "gcc -B":
- (4) Путь и имя динамического загрузчика, указанного во время компиляции:
Путь и имя динамического загрузчика, жестко запрограммированного в elf, указанного в файле спецификации gcc:
Создайте два .c файла:
2.1, путь поиска библиотеки при связывании
Скомпилируйте say.c в libsay.so, а затем скомпилируйте libsay.so при компиляции test.c, чтобы проверить путь поиска в библиотеке, когда gcc связан.
- (1) Используйте «gcc -Llibpath -llibname», чтобы указать путь поиска библиотеки ссылок:
(2) Используйте переменную среды "LIBRARY_PATH", чтобы указать путь поиска библиотеки ссылок:
(3) Используйте «SEARCH_DIR» в сценарии подключения ld, чтобы указать путь поиска библиотеки ссылок:
Используйте команду "ld -verbose", чтобы просмотреть параметр SEARCH_DIR в скрипте ссылок gcc по умолчанию. Конечно, вы также можете использовать "ld -Txxx.lds", чтобы указать скрипт связи.
Скопируйте libsay.so в указанный путь SEARCH_DIR и свяжите тест:
2.2, место поиска библиотеки динамической загрузки во время выполнения
- (1) Используйте «gcc -Wl, -rpath», чтобы указать путь поиска библиотеки динамических ссылок во время выполнения, и жестко закодируйте в ELF-файл параметр «RPATH»:
Используйте файл readelf для просмотра жестко заданного пути поиска библиотеки времени выполнения в файле elf:
- (2) Используйте переменную среды "LD_RUN_PATH", чтобы указать путь поиска библиотеки динамических ссылок во время компиляции, и жестко запишите ее в опцию "RPATH" файла ELF:
- (3) Используйте переменную среды «LD_LIBRARY_PATH», чтобы указать путь поиска библиотеки динамических ссылок во время выполнения:
(4) Используйте файл конфигурации "/etc/ld.so.conf", чтобы указать путь поиска библиотеки динамических ссылок во время выполнения:
(5) Используйте путь поиска по умолчанию "/ lib, / usr / lib" библиотеки динамических ссылок во время выполнения:
Создайте файл .c и файл .h:
2.3 Каковы пути поиска заголовочных файлов при компиляции программы?
(1) Используйте «gcc -I incpath», чтобы указать путь поиска файла заголовка во время компиляции:
(2) Используйте переменную окружения "C_INCLUDE_PATH", чтобы указать путь поиска файла заголовка во время компиляции:
- (3) Использовать путь поиска заголовка gcc по умолчанию при компиляции:
Метод настройки пути поиска файла заголовка Gcc по умолчанию не уточнен. Но вы можете использовать следующую команду для просмотра:
Это краткое руководство показывает студентам и новым пользователям, как установить компилятор GCC (необходимый для сборки) в Ubuntu 18.04 | 16.04.
Если вы новый пользователь или студент, ищущий систему Linux для начала обучения, проще всего начать с Ubuntu Linux OS. Это отличная операционная система Linux для новичков и людей, ищущих более простой в использовании дистрибутив Linux.
При использовании Ubuntu вы обнаружите, что Linux не так уж сильно отличается от Windows и других операционных систем во многих отношениях, особенно когда дело доходит до использования системы для выполнения работы.
Чтобы узнать больше о GCC, посетите страницу его проекта .
Чтобы начать установку компилятора GCC в Ubuntu, выполните следующие действия:
Вариант 1. Установка GCC на Ubuntu
По умолчанию репозитории Ubuntu содержат пакет, необходимый для сборки, который содержит компилятор GCC, g ++, make и множество библиотек и других утилит, необходимых для компиляции других пакетов и инструментов.
Таким образом, установить компилятор GCC в Ubuntu так же просто, как установить пакет, необходимый для сборки.
Для этого выполните следующие команды:
Команды устанавливают множество других пакетов, включая gcc, g ++ и make.
Если вы разработчик и хотите установить страницу руководства для GCC, просто выполните следующие команды:
sudo apt-get install manpages-dev
После установки, чтобы убедиться, что GCC успешно установлен и работает, просто используйте gcc --version команду, как показано ниже:
Это должно распечатать результат, как показано ниже:
Вот как установить компилятор GCC в Ubuntu, если он еще не установлен.
Вариант 2: установка нескольких версий GCC
Для тех, кто хочет установить несколько версий компилятора GCC, они могут использовать вариант №2.
Новые версии компиляторов GCC поддерживают новые языки, повышенную производительность, расширенные функции. Если вы хотите воспользоваться этими дополнительными функциями, идеальным вариантом будет установка последней версии или нескольких.
Чтобы установить последние версии компиляторов GCC, вам нужно будет добавить сторонний репозиторий PPA в Ubuntu и установить его оттуда.
Для этого просто выполните следующие команды:
После добавления репозитория выше вы можете установить несколько версий GGC, используя их номера версий.
Пример:
sudo apt install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9
Поскольку у вас установлено несколько версий компилятора GCC, с каждой из них связан номер приоритета. Версия с наивысшим приоритетом будет системным компилятором по умолчанию.
Вам нужно будет запустить приведенные ниже команды, чтобы установить системный компилятор по умолчанию, связывающий каждую с номером приоритета.
В приведенном ниже случае gcc-9 является версией с наивысшим приоритетом [ 90 ] .
Позже, если вы захотите изменить версию по умолчанию, используйте команду update-alternatives ниже:
sudo update-alternatives --config gcc
В зависимости от количества установленных компиляторов должно быть несколько вариантов.
Выберите свой вариант и нажмите Enter.
Это должно обновить систему до текущего значения по умолчанию.
Вывод
Вы узнали, как установить компилятор GCC в Ubuntu 18.04 | 16.04. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить об этом.
Читайте также: