Using the gnu compiler collection (gcc)
Содержание:
- C++14 Language Features
- Установка необходимых инструментов
- A note about msys vs mingw64 repos
- About This Article
- Add a source code file
- Debug helloworld.cpp
- 4- Installing GCC and other development tools with the pacman package management system
- Ставим Eclipse Neon 3
- Quick Start: Unix
- GCC 10.3
- Programs for query ″download gnu gcc compiler″
- Install C on Windows
- Other significant improvements
- Pre-built toolchains and packages
C++14 Language Features
The following table lists new language features that are part of
the C++14 standard. The «Proposal» column
provides a link to the ISO C++ committee proposal that describes the
feature, while the «Available in GCC?» column indicates the first
version of GCC that contains an implementation of this feature.
Language Feature | Proposal | Available in GCC? | SD-6 Feature Test |
---|---|---|---|
Tweak to certain C++ contextual conversions | N3323 | ||
Binary literals | N3472 |
(GNU) (N3472) |
__cpp_binary_literals >= 201304 |
Return type deduction for normal functions | N3638 |
(N3386) (N3638) |
__cpp_decltype_auto >= 201304 |
Generalized lambda capture (init-capture) | N3648 |
(partial) (N3648) |
__cpp_init_captures >= 201304 |
Generic (polymorphic) lambda expressions | N3649 | __cpp_generic_lambdas >= 201304 | |
Variable templates | N3651 | __cpp_variable_templates >= 201304 | |
Relaxing requirements on constexpr functions | N3652 | __cpp_constexpr >= 201304 | |
Member initializers and aggregates | N3653 | __cpp_aggregate_nsdmi >= 201304 | |
Clarifying memory allocation | N3664 | N/A | |
Sized deallocation | N3778 | __cpp_sized_deallocation >= 201309 | |
`deprecated` attribute | N3760 | (N3797) | __has_cpp_attribute(deprecated) >= 201309 |
Single-quotation-mark as a digit separator | N3781 | (N3797) | __cpp_digit_separator >= 201309 |
This feature was briefly part of the C++14 working paper, but was not
part of the published standard; as a result, it has been removed from
the compiler.
Language Feature | Proposal | Available in GCC? | SD-6 Feature Test |
---|---|---|---|
Runtime-sized arrays with automatic storage duration (Removed from the standard) |
N3639 | ?.? (GNU VLAs) (N3639) (GNU VLAs) |
__cpp_runtime_arrays >= 198712 |
Установка необходимых инструментов
Как вы, наверное, уже понимаете, для запуска кода нужно установить необходимые инструменты и компиляторы для работы. Ниже мы опишем как установить все инструменты разработки в Linux.
Для работы и тестирования у нас должен быть сервер с Linux. Лучший вариант — это VPS. В зависимости от географии проекта обычно выбирают две страны для серверов — VPS США и VPS России.
В этом кратком руководстве мы обсудим, как установить средства разработки в такие дистрибутивы Linux, как Arch Linux, CentOS, RHEL, Fedora, Debian, Ubuntu, openSUSE и др.
Эти средства разработки включают в себя все необходимые приложения, такие как компиляторы GNU GCC C/C++, make, отладчики, man-страницы и другие, которые необходимы для компиляции и сборки нового программного обеспечения и пакетов.
Инструменты разработчика могут быть установлены как по отдельности, так и все сразу. Мы собираемся установить все сразу, чтобы нам было намного проще работать.
Установка в Arch Linux
Для установки средств разработки в Arch Linux и его дистрибутивов, таких как Antergos, Manjaro Linux, просто запустите:
Вышеуказанная команда установит следующие пакеты в ваши системы на базе Arch:
- autoconf
- automake
- binutils
- bison
- fakeroot
- file
- findutils
- flex
- gawk
- gcc
- gettext
- grep
- groff
- gzip
- libtool
- m4
- make
- pacman
- patch
- pkg-config
- sed
- sudo
- texinfo
- util-linux
- which
Просто нажми ENTER, чтобы установить их все.
Если вы хотите установить пакет в определенную группу пакетов, просто введите его номер и нажмите ENTER, чтобы продолжить установку.
Установка средств разработки в RHEL, CentOS
Для установки средств разработки в Fedora, RHEL и его клонах, таких как CentOS, Scientific Linux, выполните следующие команды как пользователь root:
Вышеуказанная команда установит все необходимые инструменты разработчика, например:
- autoconf
- automake
- bison
- byacc
- cscope
- ctags
- diffstat
- doxygen
- elfutils
- flex
- gcc/gcc-c++/gcc-gfortran
- git
- indent
- intltool
- libtool
- patch
- patchutils
- rcs
- subversion
- swig
Установка инструментов разработки в Debian, Ubuntu и дистрибутивы
Для установки необходимых инструментов разработчика в системах на базе DEB, запустите:
Эта команда предоставит все необходимые пакеты для настройки среды разработки в Debian, Ubuntu и его дистрибутивов.
- binutils
- cpp
- gcc-5-locales
- g++-multilib
- g++-5-multilib
- gcc-5-doc
- gcc-multilib
- autoconf
- automake
- libtool
- flex
- bison
- gdb
- gcc-doc
- gcc-5-multilib
- and many.
Теперь у Вас есть необходимые средства разработки для создания программного обеспечения в Linux.
Скрипт Mangi
Если Вам не нравится метод установки средств разработки выше, есть также скрипт под названием «сценарий манги» (mangi), доступный для легкой настройки среды разработки в DEB-системах, таких как Ubuntu, Linux Mint и других производных Ubuntu.
После свежей установки Ubuntu возьмите этот скрипт из репозитория GitHub, сделайте его исполняемым и начните установку всех необходимых инструментов и пакетов для настройки полной среды разработки. Вам не нужно устанавливать инструменты один за другим.
Этот скрипт установит следующие среды разработки и инструменты на вашу систему Linux:
- Node.js
- NVM
- NPM
- Nodemon
- MongoDB
- Forever
- git
- grunt
- bower
- vim
- Maven
- Loopback
- curl
- python
- jre/jdk
- gimp
- zip unzip and rar tools
- filezilla
- tlp
- erlang
- xpad sticky notes
- cpu checker
- kvm acceleration
- Calibre Ebook Reader (I often use it to read programming books
- Dict – Ubuntu Dictionary Database and Client (CLI based)
Сначала установите следующее:
Скачайте скрипт манги, используя команду:
Извлеките загруженный архив:
Вышеуказанная команда распакует zip-файл в папку под названием mangi-script-master в вашей текущей рабочей директории. Перейдите в каталог и сделайте скрипт исполняемым, используя следующие команды:
Наконец, запустите скрипт с помощью команды:
Пожалуйста, имейте в виду, что этот скрипт не полностью автоматизирован. Вам необходимо ответить на ряд вопросов «Да/Нет» для установки всех инструментов разработки.
Установка инструментов разработки в openSUSE/SUSE
Для настройки среды разработки в openSUSE и SUSE enterprise выполните следующие команды от имени root пользователя:
Проверка установки
Теперь проверим, были ли установлены средства разработки или нет. Для этого запустите:
Как видно из приведенного выше вывода, средства разработки были успешно установлены. Теперь можно начать разрабатывать свои приложения.
A note about msys vs mingw64 repos
Some things are only available in the msys/ repo like vim and git, and will only be available in \usr\bin\. Some things like gcc are available in msys\, mingw32\, and mingw64\ repos and can potentially end up being installed in both \usr\bin\ and \mingw64\bin\. This is where you have to be careful about how you set up your PATH environment variable. If you add \usr\bin\ in order to make vim or git available, you will also add everything in that directory, which may conflict with something if you also add the \mingw64\bin\ directory to your path. If you only want the toolchain without as much extra stuff, use the mingw64 packages. Then you can add only the \mingw64\bin directory to your PATH if desired. The mingw64 repository generally has more libraries available for install that are unavailable in the general msys repo (e.g. SDL, exif, freeglut). The msys packages are intended to be used inside the msys shell, and the mingw packages are intended to be used outside of msys2.
About This Article
Written by:
Nicole Levine, MFA
Tech Specialist
This article was written by Nicole Levine, MFA. Nicole Levine is a Technology Writer and Editor for wikiHow. She has more than 20 years of experience creating technical documentation and leading support teams at major web hosting and software companies. Nicole also holds an MFA in Creative Writing from Portland State University and teaches composition, fiction-writing, and zine-making at various institutions. This article has been viewed 873,045 times.
How helpful is this?
Co-authors: 36
Updated: September 29, 2020
Views: 873,045
Categories: C Programming Languages
1. Open the Terminal in Linux.
2. Type «sudo apt update» and press Enter.
3. Type «sudo apt install build-essential» and press Enter to install GCC and other packages.
4. Type «gcc —version» to verify the GCC installation.
5. Use the «CD» command to navigate to the folder with your source code.
6. Type «gcc .c –o » to compile the program.
7. Type «»./» to run the newly compiled program.
Did this summary help you?YesNo
Español:compilar un programa en C usando el compilador GNU (GCC)
Italiano:Compilare un Programma C Utilizzando il Compilatore GNU GCC
Português:Compilar um Programa Usando o Compilador GNU (GCC)
Русский:скомпилировать программу C, используя компилятор GNU Compiler (GCC)
Deutsch:Ein C Programm mit dem GNU Compiler (GCC) kompilieren
Bahasa Indonesia:Mengompilasi Program C dengan GNU C Compiler (GCC)
Français:compiler un programme en C avec le compilateur GNU GCC
ไทย:Compile โปรแกรมภาษา C ด้วย GNU Compiler (GCC)
Nederlands:Een C programma compileren met de GNU compiler
العربية:ترجمة برنامج بلغة سي باستخدام مترجم جي إن يو
Tiếng Việt:Biên dịch chương trình C bằng GNU (GCC)
中文:使用GNU编译器(GCC)编译C程序
Türkçe:C Programları GNU Compiler (GCC) ile Nasıl Derlenir
한국어:GNU 컴파일러로(GCC) C 프로그램 컴파일 하는 법
हिन्दी:जीएनयू कम्पाइलर से C प्रोग्राम कंपाइल करें (Compile a C Program Using the GNU Compiler (GCC)
日本語:GNUコンパイラコレクション(GCC)でCプログラムをコンパイルする
Add a source code file
In the File Explorer title bar, select the New File button and name the file .
Install the C/C++ extension
Once you create the file and VS Code detects it is a C++ language file, you may be prompted to install the Microsoft C/C++ extension if you don’t already have it installed.
Choose Install and then Reload Required when the button is displayed in the Extensions view to complete installing the C/C++ extension.
If you already have C/C++ language extensions installed locally in VS Code, you’ll need to go to the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and install those extensions into WSL. Locally installed extensions can be installed into WSL by selecting the Install in WSL button and then Reload Required.
Add hello world source code
Now paste in this source code:
Now press ⌘S (Windows, Linux Ctrl+S) to save the file. Notice how the file you just added appears in the File Explorer view (⇧⌘E (Windows, Linux Ctrl+Shift+E)) in the side bar of VS Code:
You can also enable to automatically save your file changes, by checking Auto Save in the main File menu.
The Activity Bar on the far left lets you open different views such as Search, Source Control, and Run. You’ll look at the Run view later in this tutorial. You can find out more about the other views in the VS Code User Interface documentation.
Debug helloworld.cpp
Next, you’ll create a file to configure VS Code to launch the GDB debugger when you press F5 to debug the program.
- From the main menu, choose Run > Add Configuration… and then choose C++ (GDB/LLDB).
- You’ll then see a dropdown for various predefined debugging configurations. Choose g++.exe build and debug active file.
VS Code creates a file, opens it in the editor, and builds and runs ‘helloworld’.
The setting specifies the program you want to debug. Here it is set to the active file folder and active filename with the extension , which if is the active file will be .
By default, the C++ extension won’t add any breakpoints to your source code and the value is set to .
Change the value to to cause the debugger to stop on the method when you start debugging.
Start a debugging session
- Go back to so that it is the active file.
- Press F5 or from the main menu choose Run > Start Debugging. Before you start stepping through the source code, let’s take a moment to notice several changes in the user interface:
-
The Integrated Terminal appears at the bottom of the source code editor. In the Debug Output tab, you see output that indicates the debugger is up and running.
-
The editor highlights the first statement in the method. This is a breakpoint that the C++ extension automatically sets for you:
-
The Run view on the left shows debugging information. You’ll see an example later in the tutorial.
-
At the top of the code editor, a debugging control panel appears. You can move this around the screen by grabbing the dots on the left side.
4- Installing GCC and other development tools with the pacman package management system
Then you can start to install gcc and other developer tools using pacman like this:
# Install make, autoconf, etc to C:\msys64\usr\bin pacman -S base-devel gcc vim cmake
This command will install first a set of development software included in a package called base-devel and then it will install gcc, vim and cmake
vim is optional, but always good to have 😉
(You can also install emacs very easily in the same way)
In the package base-devel, you have 53 useful developement tools that can be installed:
# pacman -S base-devel 1) asciidoc 2) autoconf 3) autoconf2.13 4) autogen 5) automake-wrapper 6) automake1.10 7) automake1.11 8) automake1.12 9) automake1.13 10) automake1.14 11) automake1.15 12) automake1.16 13) automake1.6 14) automake1.7 15) automake1.8 16) automake1.9 17) bison 18) diffstat 19) diffutils 20) dos2unix 21) file 22) flex 23) gawk 24) gdb 25) gettext 26) gettext-devel 27) gperf 28) grep 29) groff 30) help2man 31) intltool 32) lemon 33) libtool 34) libunrar 35) libunrar-devel 36) m4 37) make 38) man-db 39) pacman 40) pactoys-git 41) patch 42) patchutils 43) perl 44) pkg-config 45) pkgfile 46) quilt 47) rcs 48) scons 49) sed 50) swig 51) texinfo 52) texinfo-tex 53) ttyrec # pacman -S gcc binutils-2.30-1 isl-0.19-1 mpc-1.1.0-1 msys2-runtime-devel-2.11.1-2 msys2-w32api-headers-6.0.0.5223.7f9d8753-1 msys2-w32api-runtime-6.0.0.5223.7f9d8753-1 windows-default-manifest-6.4-1 gcc-7.3.0-3
Ставим Eclipse Neon 3
Скачиваем установщик Eclipse
- Справа вверху нажимаем download.
- В открывшейся окне слева выбираем download (x64/x32 должно подобраться автоматически).
- Ну и нажимаем download по центру, после чего начнется загрузка. При желании, можно про спонсировать создателей IDE…
Устанавливаем JRE
- Запускаем скаченный нами установщик. Получаем ошибку о том, что отсутствует JRE.
- Нажимаем «нет» и ждем перехода на сайт.
- На сайте выбираем пункт «Oracle JRE 1.8.0».
- Выбираем «Accept License Agreement».
- Скачиваем Offline версию, согласно разрядности вашей Windows.
- Запускаем скаченный файл. Дальнейшая установка проблем не вызывает.
Устанавливаем Eclipse
- Запускаем скаченный нами установщик.
- Выбираем версию для C/C++.
- Указываем путь установки (я оставил по умолчанию, и вам советую).
- Принимаем соглашение.
- Ждем окончания установки.
- Нажимаем «LAUNCH», чтобы запустить среду.
- Указываем путь, который будет использовать Eclipse для ваших проектов по умолчанию (я оставил по умолчанию), а так же ставим галочку, чтобы данное окно больше не появлялось.
- Убеждаемся, что IDE запустилась, закрываем.
- Во время закрытия можем поставить галочку, чтобы окно предупреждения о закрытии более не появлялось.
Устанавливаем в Eclipse плагин GNU ARM Eclipse
В правом столбце, под строкой «Downloads» выбираем «Plug-ins».
Далее под строкой «The GNU ARM Eclipse plug-ins update site URL is still on SourceForge:» копируем ссылку на плагин
На момент написания статьи это была:
Открываем Eclipse.
Переходим «Help» -> «Install New Software…».
В открывшемся окне нажимаем на «Add…».
В еще одном открывшимся окне в пункте «Name:» пишем, например, «ARM» (название не важно), а в строку «Location:» вставляем скопированную нами с сайта ссылку.
Нажимаем «ОК»
Окно закроется и в списке строк появится пустой чекбокс с надписью «Pending…».
Далее в случае, если вы встретитесь с ошибкой, представленной ниже, то перейдите к пункту «Патчим JRE», а затем вернитесь и повторите всё с пункта 4.
В случае, если ошибки не возникло или вы ее уже исправили, продолжаем дальше.
После того, как появится строка «GNU ARM C/C++ Cross Development Tools», необходимо выбрать чекбокс слева от нее и нажать «Next».
После еще раз «Next».
Далее принимаем лицензионное соглашение и нажимаем «Finish». Начнется процесс установки.
В процессе установки появится предупреждение о безопасности
Жмем «ОК».
По окончании установки потребуется перезагрузить Eclipse, для этого нажимаем «Yes» в появившемся окне.
На этом установка этого плагина завершена.
Патчим JRE (если в пункте выше произошла ошибка)
- Выбираем пункт «Accept License Agreement».
- Скачиваем «.zip» архив.
- Распаковываем. В архиве 2 файла («local_policy.jar» и «US_export_policy.jar») патча и текстовый файл. Копируем эти 2 файла с разрешением «.jar» и заменяем ими файлы по адресу установленной java. В случае 64-х битной windows 10, это путь
Путь может быть другим в случае, если выйдет новая версия jre или у вас ОС с другой разрядностью. Главное, что вы должны зайти в папку «\lib\security» и туда скопировать с заменой эти 2 файла. На этом патч можно считать завершенным. Можно снова запустить eclipse и установить плагин.
Устанавливаем GNU ARM Eclipse Windows Build Tools
- Скачиваем «.exe» файл под свою платформу. На момент написания статьи самая актуальная версия «gnuarmeclipse-build-tools-win64-2.8-201611221915-setup.exe».
- Запускаем скаченный файл и просто жмем «Next», «A Agree», «Next», «Install», «Finish».
Quick Start: Unix
Prerequisites for Linux:
- >= 6
Prerequisites for macOS:
- On macOS 10.14 or below, you will also need:
- >= 6 from Homebrew
First, download and bootstrap vcpkg itself; it can be installed anywhere,
but generally we recommend using vcpkg as a submodule for CMake projects.
$ git clone https://github.com/microsoft/vcpkg $ ./vcpkg/bootstrap-vcpkg.sh
To install the libraries for your project, run:
$ ./vcpkg/vcpkg install
You can also search for the libraries you need with the subcommand:
$ ./vcpkg/vcpkg search
In order to use vcpkg with CMake, you can use the toolchain file:
$ cmake -B -S . -DCMAKE_TOOLCHAIN_FILE=/scripts/buildsystems/vcpkg.cmake $ cmake --build
With CMake, you will still need to and the like to use the libraries.
Check out the
for more information on how best to use vcpkg with CMake,
and CMake Tools for VSCode.
For any other tools, check out the integration guide.
GCC 10.3
This is the list
of problem reports (PRs) from GCC’s bug tracking system that are
known to be fixed in the 10.3 release. This list might not be
complete (that is, it is possible that some PRs that have been fixed
are not listed here).
Target Specific Changes
AArch64
-
A bug with the Random Number intrinsics in the header
that resulted in an incorrect status result being returned has been fixed. - GCC now supports the Fujitsu A64FX. The associated
and options are and
respectively. In particular,
generates code for Armv8.2-A with SVE and
tunes the code for the A64FX. This includes tuning the SVE code,
although by default the code is still length-agnostic and so works for
all SVE implementations. Adding
makes the code specific to 512-bit SVE.
GCC 10.3 supports AMD CPUs based on the znver3 core
via -march=znver3.
Programs for query ″download gnu gcc compiler″
Bloodshed Dev-C++
Download
3 on 10 votes
Bloodshed Dev-C is a full-featured Integrated Development Environment (IDE) for the C/C programming language.
… port of GCC (GNU Compiler Collection) as …
Hitex Development Tools GNU C/C++ Tools for ARM
Download
5 on 2 votes
The GNU Compiler Collection (GCC) is a set of compilers produced for various programming languages by the GNU Project.
… GNU Compiler Collection (GCC) is a set of compilers … as «GNU C Compiler» the GCC has been …
Dev-C++
Download
4 on 481 votes
This application uses the MinGW port of GCC (GNU Compiler Collection) as its compiler.
… port of GCC (GNU Compiler Collection) as … its compiler. It is …
GNUARM
Download
5 on 1 vote
GNUARM is a pre-compiled binary distribution for the latest GNU ARM/Newlib toolchain for Cygwin, Linux and MacOS.
… pre-compiled binary … GNU binutils, compiler set (GCC) … and C compilers. Details …
Embarcadero Dev C++
Download
5 on 88 votes
A fast, portable, simple, and free IDE for C/C++ programming on Windows.
… port of GCC (GNU Compiler Collection) as … —GCC 9.2.0 32/64bit
Support GCC-based compilers …
Phyton CodeMaster-52
Download
5 on 1 vote
CodeMaster-52 compiler options CodeMaster-52 IDE provides most flexible, user-friendly and cost-effective integration …
… -52 compiler options
… emulator. The compiler, assembler, …
—GNU (SDCC) http://gcc.gnu.org …
TIGCC Calculator SDK
Download
TIGCC is mainly a C compiler for the Texas Instruments TI-89, TI-89 Titanium, TI-92 Plus and Voyage 200 calculators.
… mainly a C compiler for the … on GCC, the GNU Compiler Collection … to compile everything …
Amontec sdk4arm ide
Download
Amontec sdk4arm is a complete Software Development Kit for ARM processors based on GNU tools ( full sources), but it comes pre-compiled for Win32.
… based on GNU tools ( … pre-compiled for …
— a Compiler : GNU ARM GCC
— a Debugger : GNU ARM …
Kinetis Design Studio
Download
2 on 2 votes
The Kinetis Design Studio IDE is a complimentary integrated development environment for Kinetis MCUs that enables …
… editing, compiling and debugging … Eclipse, GNU Compiler Collection (GCC), GNU Debugger ( …
GNU Prolog
Download
5 on 3 votes
GNU Prolog is a free Prolog compiler with constraint solving over finite domains.
… binaries (like gcc does from … native-code compilation, GNU Prolog offers …
Install C on Windows
We will use an open-source Integrated Development environment named Code::Blocks which bundles a compiler (named gcc offered by Free Software Foundation GNU), editor and debugger in a neat package.
Step 1) Download Binary release
Go to http://www.codeblocks.org/downloads and click Binary Release.
Step 2) Select the installer with GCC for Windows compiler
Choose the installer with GCC Compiler, e.g., codeblocks-17.12mingw-setup.exe which includes MinGW’s GNU GCC compiler download and GNU GDB debugger with Code::Blocks source files.
Step 3) Start installation
Run the downloaded installer and accept the default options to install GCC Windows file.
Step 4) Accept the terms and conditions
Accept the Agreement
Step 5) Keep default component selection
Keep the component selection default and click Next.
Step 6) Locate the installation path
You may change the installation folder and click Next.
Step 7) Find and double-click on the CodeBlocks icon
To launch Code::Blocks double click on the icon.
Step 8) Let it detect the compiler itself
It will detect the GCC compiler for Windows automatically, set it as default.
Associate C/C++ files with code::blocks
Step 9) Open the IDE and start using
You will see the IDE Home screen.
Other significant improvements
-
To allow inline expansion of both
and , the existing instruction
patterns used for non-overlapping memory copies have been renamed to
. The name is now used
for overlapping memory moves, consistent with the
library functions and . -
For many releases, when GCC emits a warning it prints the option
controlling that warning. As of GCC 10, that option text is now a
clickable hyperlink for the documentation of that option (assuming a
sufficiently capable terminal).
This behavior can be controlled via a newoption (along with various environment variables and heuristics
documented with that option).
Pre-built toolchains and packages
Version | Host | GCC / Mingw-w64 Version | Languages | Additional Software in Package Manager | |
---|---|---|---|---|---|
Arch Linux | Ada, C, C++, Fortran, Obj-C, Obj-C++ | many | |||
Rolling | Windows | 5.4.0/5.0.2 | Ada, C, C++, Fortran, Obj-C | 5 (bzip2, libgcrypt, libgpg-error, minizip, xz, zlib) | |
Debian 7 (Wheezy) | 4.6.3/2.0.3 | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | 2 (gdb, nsis) | ||
Debian 8 (Jessie) | 4.9.1/3.2.0 | ||||
Debian 9 (Stretch) | 6.3.0/5.0.0 | 9 (gdb, libassuan, libgcrypt, libgpg-error, libksba, libnpth, nsis, win-iconv, zlib) | |||
Debian 10 (Buster) | 8.3.0/6.0.0 | ||||
Fedora 19 | 4.8.1/? | Ada, C, C++, Fortran, Obj-C, Obj-C++ | 149+ | ||
20210423 | Windows, Linux | LLVM 12.0.0/trunk | C, C++ | make | |
Rolling | macOS | C, C++, Fortran, Obj-C, Obj-C++ | 1 (nsis) | ||
Rolling | Windows | 7.2.0/5.0.3 | C, C++, Fortran | 4 (gdb, libiconf, python, zlib) | |
Rolling | Windows | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | many | ||
12.04 Precise Pangolin | 4.6.3/2.0.1 | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | 2 (nsis, gdb) | ||
14.04 Trusty Tahr | 4.8.2/3.1.0 | ||||
14.10 Utopic Unicorn | 4.9.1/3.1.0 | ||||
15.04 Vivid Vervet | 4.9.2/3.2.0 | ||||
15.10 Wily Werewolf | 4.9.2/4.0.2 | ||||
16.04 Xenial Xerus | 5.3.1/4.0.4 | 3 (nsis, gdb, zlib) | |||
1.5 | Windows, Linux | 4.8.3/3.3.0 | C, C++ | 91+ |
Installation:
- Community repository (toolchain)
- AUR repository (additional packages)
Cygwin
Cygwin is a Unix-like environment and command-line
interface for Microsoft Windows. Its core is the cygwin1.dll library which
provides POSIX functionality on top of the Win32 API. It can be used as a build
environment which targets Windows directly and for which output doesn’t depend
on cygwin1.dll.
Installation is done through cygwin’s package manager:
setup.exe.
As part of the numerous packages in cygwin, there are cross-compilation
toolchains which target both 32 bits and 64 bits; their names start with
“mingw64-”.
Once they are installed, they should be used according to the general
cross-compilation approach.
LLVM-MinGW
LLVM-MinGW is a toolchain built with Clang, LLD, libc++, targeting
i686, x86_64, arm and aarch64 (ARM64), with releases both for running
as a cross compiler from Linux and for running on Windows. It supports
Address Sanitizer, Undefined Behaviour Sanitizer, and generating debug
info in PDB format.
MacPorts
To install just the 32-bit or just 64-bit compiler with dependencies, use:
A shortcut to install both:
Here is the list of Mingw-w64 packages on MacPorts.
Win-Builds
Win-builds is a cross-platform project that makes building for Windows easy. It
supports building from both Windows and Linux systems and provides many
pre-built libraries which can be installed through a graphical package manager.
It aims for stability while still providing recent versions of software
packages.
Installation: http://win-builds.org.