Как узнать версию gcc, используемую для сборки linux?
Я использую OpenWRT. это дистрибутив Linux для встраиваемых систем
Я хочу знать версию gcc, используемую для компиляции Linux
Я сделал некоторые исследования в сети, но безрезультатно.
Я пытался выполнить эти команды для некоторого существующего двоичного файла в Linux OpenWRT (например, wget)
Но я не получил никакого результата
не дает никакого результата
Есть ли способ узнать, используется ли gcc для сборки всего linux (как для пользовательского пространства, так и для пространства ядра)?
Решение
Главное предостережение
.comment раздел не является обязательным. Многие дистрибутивы удаляют его из исполняемого файла, когда исполняемый файл упакован в пакет. Раздел будет помещен в отдельный пакет отладки.
Например, в моей системе:
После установки libcurl3-dbg пакет, мы получаем изображение с разделенными разделами, следуя ссылке отладки GNU:
Другие решения
Для построения рабочего пространства OpenWRT используется ваш основной gcc:
Для кросс-компиляции все необходимые инструменты находятся под вами openwrt build dir.
GCC, используемый во время компиляции, можно найти в staging directory OpenWRT. Перейдите в домашнюю директорию openwrt и найдите toolchain каталог под постановочный реж. Здесь вы найдете bin каталог, в котором находятся все инструменты кросс-компиляции.
Например для ar71xx :
Настраиваем Windows для программирования OpenGL
Пост ориентирован на новичков. В нем не рассматривается настройка Visual Studio. Он научит вас настраивать некоторые текстовые редакторы на компиляцию OpenGL приложений, либо выполнять это из консоли вручную.
Недавно, наконец, вышло 8-е издание книги OpenGL programming guide, которую я ждал уже более чем 2 года. Чуть раньше я познакомился с замечательным текстовым редактором Sublime Text 2 и решил настроить его вместо установки тяжелой Visual Studio.
Итак, для начала нам нужен компилятор — я остановился на G++. Он является частью GCC, а его порт под Windows называется MinGW. С него и начнем:
MinGW
Качаем с официального сайта инсталлятор и запускаем его. Можно выбрать выкачивание свежих пакетов сразу при установке, либо обновить их вручную позже. Компиляторы Fortran, Ada и ObjC нам не понадобятся, их можно не ставить. MSYS Basic System может пригодится, его ставим. В качестве адреса я указал » C:\MinGW «, но если вас это смущает — можете выбрать другой, например, » C:\Program Files\Common Files\MinGW «.
Теперь, когда у нас есть компилятор, мы можем приступить к установке необходимых OpenGL библиотек.
Freeglut
Поскольку OpenGL это API, которое относится исключительно к графике — в него не входят функции по созданию окон или обработки устройств ввода. Тем более, решение этой задачи зависит от операционной системы. По-этому ее вынесли в отдельную библиотеку и назвали GLUT — OpenGL Utility Toolkit. Однако, последний релиз этой библиотеки был очень давно и сейчас ее подменила freeglut.
Качаем с официального сайта бинарники под MinGW. Распаковываем, freeglut.dll из папки bin кидаем в » C:\Windows\System32 » (для х86) или » C:\Windows\SysWOW64 » (для х64), или любую другую папку, которая указана в PATH. Содержимое папок include и lib можно скопировать либо в » MinGW\include » и » MinGW\lib » (так будет проще), либо в отдельные созданые папки » MinGW\freeglut\include » и » MinGW\freeglut\lib «.
На этом с freeglut все. Для его подключения нужно добавить #include
Проверяем работоспособность
Создаем минимальный test.cpp:
Sublime Text 2
Ну и напоследок, приведу пример настройки Sublime. Скачать его можно отсюда, вводные видео-уроки на английском языке можно глянуть здесь.
После установки открываем файл настройки билда С++:
» C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\C++\C++.sublime-build »
Сохраняем его копию как
» C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\User\C++\С++ OpenGL.sublime-build «
Строчку
дополняем подключением библиотек:
Для того чтобы Sublime не отказывался выводить кириллицу в свою консоль, после
добавляем
UPD: Когда дело дошло до кода с gl-функциями из последних версий, выяснилось, что подключение заголовочного файла GL/gl.h недостаточно. В нем содержится устаревшая версия 1.1, и этот файл больше не обновляется. В дополнение к нему необходимо подключить GL/glext.h (последнюю версию которого надо скачать отсюда) и GL/wglext.h (отсюда). Для линукса последний файл заменяется GL/glxext.h (ссылка). Скачанными файлами нужно заменить их устаревшие версии по адресу » MinGW/include/GL/ «.
Установка gcc в Windows 10
Введение
GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как C++, Objective-C, Java, Фортран, Ada, Go, GAS и D.
С версии 4.2.2 GCC перешёл на лицензию GPLv3.
Перед установкой
Проверить, установлен ли gcc можно в cmd командой
Если gcc установлени, Вы увидите версию
Если gcc не установлен, Вы увидите следующее сообщение
Установка
Для работы в Windows нужен MinGW скачать его можно на сайте nuwen.net/mingw.html
Для этой статьи использовался mingw-17.1.exe
Далее действуйте по инструкции
Двойной клик на mingw-17.1.exe
После установки нужно добавить C:\MinGW\bin в системную переменную среды PATH.
Если Вы не знаете как это сделать, прочитайте мою статью «Системная переменная PATH»
После установки
Итак, Вы установили MinGW написали простейшую программу 3.cpp, компилируете с помощью gcc
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Andrei\AppData\Local\Temp\ccuoNssB.o:3.cpp:(.text+0x28): undefined reference to `std::ios_base::Init::
Init()’ c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Andrei\AppData\Local\Temp\ccuoNssB.o:3.cpp:(.text+0x58): undefined reference to `std::ios_base::Init::Init()’ collect2.exe: error: ld returned 1 exit status
Если Вы планируете писать софт, который должен будет работать под UNIX-подобными ОС, например Linux или OpenBSD то устанавливать MinGW не стоит.
Попробуйте добавить в Ваш Windows подсистему для Linux и установить gcc там.
Установка gcc в подсистеме Linux для Windows
sudo apt install build-essentials
Установка Cygwin
У меня пока что только негативный опыт работы с ним, но у Вас может получиться лучше.
Как установить компилятор gcc / g++ для Windows. Установка gcc
Время чтения: 5 минут
Для того, чтобы писать программы на C/C++ обычно достаточно установить какую-нибудь интерактивную среду разработки (IDE), например, Visual Studio или Eclipse, однако иногда (обычно в целях обучения студентов) требуется создавать программы в обыкновенном текстовом редакторе и компилировать приложение, используя консоль и компилятор gcc. В Unix системах он обычно установлен прямо «из коробки», а вот на Windows системах такой роскоши не наблюдается. Более того, у многих пользователей возникает множество проблем при установке компилятора. Поэтому нами было принято решение написать данную статью, чтобы помочь всем тем, кому пришлось или приходится мучаться с установкой этого компилятора на Windows.
0. Прежде чем поставить компилятор GCC
Если в окне консоли появилось сообщение с версией компилятора и другая информация о GCC (второй скриншот), значит компилятор уже установлен и больше дополнительно ничего делать не нужно. А вот если вывод командной строки такой:
— значит GCC ещё не установлен в системе, поэтому двигаемся дальше.
1. Скачиваем установщик компилятора
Чтобы поставить GCC на операционную систему Windows, необходимо скачать установочный файл для него. Сделать это можно здесь: equation.com/servlet/equation.cmd?fa=fortran. Найдите в таблице версию компилятора, которая вам больше нравится (мы рекомендуем скачивать самую последнюю, на текущий момент — это версия 8.2.0) и скачайте установщик для вашей системы (32 или 64 бит).
2. Установка GCC
После того, как файл был скачан, откройте в проводнике папку, в которую был скачан установщик и запустите его, кликнув по файлу дважды левой кнопкой мыши. Появится окно, требующее подтверждения действия. В нём нужно выбрать да (иначе ничего ставиться не будет).
Установщик начнёт работу и отобразит окно с консолью, а также окно с бежевым фоном, в котором попросит прочесть и принять (или отклонить) лицензионное соглашение. Нажимаем Accept.
Теперь остаётся только дождаться окончания распаковки архивов и установки их на компьютер. Как только все файлы будут установлены, инсталятор сообщит об этом, после чего нужно будет нажать на кнопку Finish.
3. Проверка установки
Поздравляем! Теперь на вашем компьютере установлен компилятор GCC и вы можете писать программы на языках C и C++, а компилировать их через командную строку!
4. Бонус. Компиляция программ с помощью GCC
Что ещё за a.out? Непонятно!
Используя понятные имена выходных программ (исполняемых файлов), вы гарантируете себе простоту работы и сокращение времени на разбирательство спустя долгое время.
Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов
Языки программирования: Python, C, C++, Pascal, C#, Javascript
Выпускник МГУ им. М.В. Ломоносова
Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.
Как узнать версию Linux (+ информацию о железе, хар-ки ПК)

В тему: «В гостях, конечно, хорошо, но дома лучше. «.
Когда работаешь за своим ПК — обычно всё о нем знаешь (и железки, и ПО (и все царапины на корпусе 😉)). Но при знакомстве с «неизвестной машиной» — порой, требуется узнать о ней больше: характеристики, версию дистрибутива и ядра Linux.
В принципе, сделать это несложно: 1-2 команды (если не брать отдельные исключительные случаи. ).
Собственно, ниже я и собираюсь привести пару способов, которые «расскажут» нам о текущей ОС (отмечу, что приведенные команды универсальны и работают в разных дистрибутивах).
Примечание : я исхожу из того, что ОС у вас запущена и вы можете вызвать терминал (Ctrl+Alt+T или Win+T). Если какая-то команда ниже у вас не сработает — попробуйте следующую.
Несколько вариантов узнать информацию о текущей ОС Linux
👉 Вариант 1: вкладка «About»
POP!_OS — скрин из панели управления, вкладка About
Кстати, обратите внимание, что через вкладку «About» можно узнать не только о ОС, но и о железках на ПК: процессор, ОЗУ, видеокарта и пр.
Elementary OS — вкладка About
👉 Вариант 2
👉 Вариант 3
Команда hostnamectl позволяет вывести на экран базовые сведения о текущей версии ОС (обратите внимание на строчку «Operating System» 👇).
hostnamectl (Elementary OS)
Пример (в тексте из Linux Mint):
$ hostnamectl
Static hostname: mint
Icon name: computer-laptop
Chassis: laptop
Machine ID: 939972095cf1459c8b22cc608eff85da
Boot ID: cc35e48fabd4460fb94d7102965ce576
Operating System: Linux Mint 20.1
Kernel: Linux 5.4.0-58-generic
Architecture: x86-64
👉 Вариант 4
Этот вариант помимо ОС, расскажет о многих железках на ПК. Наиболее информативный способ!
60Hz
OpenGL: renderer: Mesa Intel HD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.0.8
Audio:
Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
Sound Server: ALSA v: k5.4.0-58-generic
Network:
Device-1: Intel Wireless 8260 driver: iwlwifi
IF: wlp2s0 state: up mac: 90:61:ae:46:f1:2c
Drives:
Local Storage: total: 581.02 GiB used: 840.5 MiB (0.1%)
ID-1: /dev/sda vendor: Crucial model: CT480BX500SSD1 size: 447.13 GiB
ID-2: /dev/sdb model: SSD 128GB size: 119.24 GiB
ID-3: /dev/sdc type: USB vendor: Innostor model: Innostor size: 14.65 GiB
Partition:
ID-1: / size: 5.79 GiB used: 840.5 MiB (14.2%) fs: overlay source: ERR-102
Sensors:
System Temperatures: cpu: 36.0 C mobo: N/A
Fan Speeds (RPM): cpu: 3100
Info:
Processes: 236 Uptime: 13m Memory: 11.59 GiB used: 1.22 GiB (10.5%)
Shell: bash inxi: 3.0.38
👉 Вариант 5
Информация о ядре доступна в файле: /proc/version (команда cat /proc/version ).
$ cat /etc/os-release
NAME=»Linux Mint»
VERSION=»20.1 (Ulyssa)»
>
ID_LIKE=ubuntu
PRETTY_NAME=»Linux Mint 20.1″
VERSION_ID=»20.1″
HOME_URL=»https://www.linuxmint.com/»
SUPPORT_URL=»https://forums.linuxmint.com/»
BUG_REPORT_URL=»http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/»
PRIVACY_POLICY_URL=»https://www.linuxmint.com/»
VERSION_CODENAME=ulyssa
UBUNTU_CODENAME=focal
mint@mint:
👉 Вариант 6
Чтобы узнать версию ядра Linux (и доп. сведения о архитекторе), можно воспользоваться утилитой uname, парочка команд в помощь:
























