Для того, чтобы писать программы на C/C++ обычно достаточно установить какую-нибудь интерактивную среду разработки (IDE), например, Visual Studio или Eclipse, однако иногда (обычно в целях обучения студентов) требуется создавать программы в обыкновенном текстовом редакторе и компилировать приложение, используя консоль и компилятор gcc. В Unix системах он обычно установлен прямо «из коробки», а вот на Windows системах такой роскоши не наблюдается. Более того, у многих пользователей возникает множество проблем при установке компилятора. Поэтому нами было принято решение написать данную статью, чтобы помочь всем тем, кому пришлось или приходится мучаться с установкой этого компилятора на Windows.
Кстати, если вдруг на вашей Unix системе не установлен GCC, то поставить его можно командой sudo apt install gcc
, введя свой пароль и согласившись на установку.
0. Прежде чем поставить компилятор GCC
Перед тем как приступить к установке этого компилятора на ваш компьютер, убедитесь в том, что GCC ещё не установлен на нём. Для этого откройте консоль (нажмите Win + R, введите в появившемся окне cmd и нажмите клавишу Enter) и введите следующую команду: gcc --version
и нажмите Enter. Если компилятор уже установлен, то выполненная команда выдаст примерно следующую информацию:
gcc (GCC) 8.1.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Если в окне консоли появилось сообщение с версией компилятора и другая информация о GCC (второй скриншот), значит компилятор уже установлен и больше дополнительно ничего делать не нужно. А вот если вывод командной строки такой:
"gcc" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
— значит GCC ещё не установлен в системе, поэтому двигаемся дальше.
Появившееся окно консоли
GCC уже установлен
GCC не установлен
1. Скачиваем установщик компилятора
Чтобы поставить GCC на операционную систему Windows, необходимо скачать установочный файл для него. Сделать это можно здесь: equation.com/servlet/equation.cmd?fa=fortran. Найдите в таблице версию компилятора, которая вам больше нравится (мы рекомендуем скачивать самую последнюю, на текущий момент — это версия 8.2.0) и скачайте установщик для вашей системы (32 или 64 бит).
Выбор установочного файла
2. Установка GCC
После того, как файл был скачан, откройте в проводнике папку, в которую был скачан установщик и запустите его, кликнув по файлу дважды левой кнопкой мыши. Появится окно, требующее подтверждения действия. В нём нужно выбрать да (иначе ничего ставиться не будет).
Установщик начнёт работу и отобразит окно с консолью, а также окно с бежевым фоном, в котором попросит прочесть и принять (или отклонить) лицензионное соглашение. Нажимаем Accept.
Открывшееся окно с установщиком
Принимаем лицензионное соглашение
После этого установщик попросит выбрать путь для установки, предложив по умолчанию путь C:mingw
. Если вам категорически не нравится этот путь — измените его на более подходящий на ваш взгляд, в противном же случае просто нажмите Install.
Выбор папки для установки
Теперь остаётся только дождаться окончания распаковки архивов и установки их на компьютер. Как только все файлы будут установлены, инсталятор сообщит об этом, после чего нужно будет нажать на кнопку Finish.
Распаковка файлов и установка
Окончание установки
3. Проверка установки
По завершении работы установщика перезагрузите компьютер и вновь откройте окно командной строки, введите команду gcc --version
и нажмите Enter. На этот раз ответ от этой команды должен будет совпадать со вторым скриншотом из пункта 0. Если это не так, то скорее всего работа установщика была некорректно или преждевременно завершена, так что просто начните установку заново.
GCC установлен
Поздравляем! Теперь на вашем компьютере установлен компилятор GCC и вы можете писать программы на языках C и C++, а компилировать их через командную строку!
4. Бонус. Компиляция программ с помощью GCC
Теперь, когда у вас установлен компилятор GCC, вы можете создавать программы на C/C++, используя только текстовый редактор и консоль. Для этого создайте новый файл и назовите его как угодно (например, hello_world). Задайте ему расширение .c
вместо .txt
. Напишите (или скопируйте) текст программы на С в этот файл. Откройте командную строку (Win + R, cmd) и введите следующую команду gcc hello_world.c
и нажмите Enter. Если код не содержит ошибок, то результатом команды будет пустота. В противном же случае вы увидите все ошибки, который нашёл компилятор в программе с указанием места этой ошибки. При этом в проводнике появится файл a.out.exe
, который будет являться исполняемым файлом для написанной программы. Чтобы запустить его введите в консоли a.out
(для Unix-систем нужно писать ./a.out
) и нажмите Enter.
Что ещё за a.out? Непонятно!
По умолчанию при компиляции программ GCC в качестве результата создаём исполняемый файл с именем a.out (если такой уже есть, то b.out и т.д.). Это может быть не очень удобно, если у вас в папке лежит сразу много программ, которые нужно скомпилировать и затем запустить. Неудобно хотя бы тем, что разобраться, что такое a.out, а что такое b.out и c.out может быть непросто. Именно поэтому мы рекомендуем компилировать программы с явным указанием имени выходного файла. делается это так: gcc имя_файла.c -o имя_программы
.
В результате выполнения такой программы вместо a.out будет создаваться файл с именем, заданным в имя_программы. Например, если для файла hello_world.c мы хотим получить программу hello, то компилировать нужно такой командой: gcc hello_world.c -o hello
.
Результат компиляции и запуска программы
Используя понятные имена выходных программ (исполняемых файлов), вы гарантируете себе простоту работы и сокращение времени на разбирательство спустя долгое время.
Возможно, также будет интересно: как установить Sublime Text для работы с C/C++.
Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов
Языки программирования: Python, C, C++, Pascal, C#, Javascript
Выпускник МГУ им. М.В. Ломоносова
Последнее обновление: 01.01.2023
Установка компилятора
Рассмотрим создание первой простейшей программы на языке Си с помощью компилятора GCC, который на сегодняшний день является одим из
наиболее популярных компиляторов для Cи и который доступен для разных платформ. Более подобному информацию о GCC можно получить на официальном сайте проекта https://gcc.gnu.org/.
Набор компиляторов GCC распространяется в различных версиях. Для Windows одной из наиболее популярных версий является пакет средств для разработки от
некоммерческого проекта MSYS2. Следует отметить, что для MSYS2 требуется 64-битная версия Windows 7 и выше (то есть Vista, XP и более ранние версии не подходят)
Итак, загрузим программу установки MSYS2 с официального сайта MSYS2:
После загрузки запустим программу установки:
На первом шаге установки будет предложено установить каталог для установки. По умолчанию это каталог C:msys64:
Оставим каталог установки по умолчанию (при желании можно изменить). На следующем шаге устанавливаются настройки для ярлыка для меню Пуск, и затем собственно будет произведена установка.
После завершения установки нам отобразить финальное окно, в котором нажмем на кнопку Завершить
После завершения установки запустится консольное приложение MSYS2.exe. Если по каким-то причинам оно не запустилось,
то в папке установки C:/msys64 надо найти файл usrt_64.exe:
Теперь нам надо установить собственно набор компиляторов GCC. Для этого введем в этом приложении следующую команду:
pacman -S mingw-w64-ucrt-x86_64-gcc
Для управления пакетами MSYS2 использует пакетный менеджер Packman. И данная команда говорит пакетному менелжеру packman установить пакет mingw-w64-ucrt-x86_64-gcc
,
который представляет набор компиляторов GCC (название устанавливаемого пакета указывается после параметра -S
).
и после завершения установки мы можем приступать к программированию на языке Си. Если мы откроем каталог установки и зайдем в нем в папку C:msys64ucrt64bin,
то найдем там все необходимые файлы компиляторов:
В частности, файл gcc.exe как раз и будет представлять компилятор для языка Си.
Далее для упрощения запуска компилятора мы можем добавить путь к нему в Переменные среды. Для этого можно в окне поиска в Windows ввести «изменение переменных среды текущего пользователя»:
Нам откроется окно Переменныех среды:
И добавим путь к компилятору C:msys64ucrt64bin
:
Чтобы убедиться, что набор компиляторов GCC успешно установлен, введем следующую команду:
В этом случае нам должна отобразиться версия компиляторов
Создание первой программы
Итак, компилятор установлен, и теперь мы можем написать первую программу. Для этого потребуется любой текстовый редактор для набора исходного кода.
Можно взять распространенный редактор Visual Studio Code или даже обычный встроенный Блокнот.
Итак, создадим на жестком диске папку для исходных файлов. А в этой папке создадим новый файл, который назовем hello.c.
В моем случае файл hello.c находится в папке C:c.
Теперь определим в файле hello.c простейший код, который будет выводить строку на консоль:
#include <stdio.h> // подключаем заголовочный файл stdio.h int main(void) // определяем функцию main { // начало функции printf("Hello METANIT.COM!n"); // выводим строку на консоль return 0; // выходим из функции } // конец функции
Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка
#include <stdio.h>
Директива include подключает заголовочный файл stdio.h, который содержит определение функции printf, которая нужна для вывода строки на консоль.
Далее идет определение функции int main(void). Функция main должна присутствовать в любой программе на Си, с нее собственно и начинается
выполнение приложения.
Ключевое слово int в определении функции int main(void)
говорит о том, что функция возвращает целое число.
А слово void в скобках указывает, что функция не принимает параметров.
Тело функции main заключено в фигурные скобки {}. В теле функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello METANIT.COM!».
В конце осуществляем выход из функции с помощью оператора return. Так как функция должна возвращать целое число, то после return указывается число 0.
Ноль используется в качестве индикатора успешного завершения программы.
После каждого действия в функции ставятся точка с запятой.
Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом:
Чтобы скомпилировать исходный код, необходимо компилятору gcc передать в качестве параметра файл hello.c:
После этого будет скомпилирован исполняемый файл, который в Windows по умолчанию называется a.exe. И мы можем обратиться к этому файлу
и в этом случае консоль выведет строку «Hello METANIT.COM!», собственно как и прописано в коде.
Стоит отметить, что мы можем переопределить имя компилируемого файла с помощью флага -o и передав ему имя файла, в который будет компилироваться программа.
Например:
В этом случае программа будет компилироваться в файл hello.exe
, который мы также запустить.
Чтобы не приходилось вводить две команды: одну для компиляции программы и другую для ее запуска, мы можем объединить команды:
gcc hello.c -o hello.exe && hello
Эта команда сначала компилирует код в файл hello.exe, а потом сразу запускает его.
GCC, abbreviation for ‘GNU Compiler Collection’ (thanks @saphirakai
) (and not Gulf Cooperation Council, like I’d assumed) is a necessity if you (or your pesky college) is into C Programming.
Almost all Linux distros come pre-installed with it so they are out of the trouble. But for those of you who were constant users of Windows and Command Prompt, and never felt the necessity for a C compiler, GCC seems to come out of the blue and a tough nut to install. 1000 rage-quits later, I present you this article.
This article is written so that the installation process is made easier than most of the trashy articles I had to go through.
Installation
-
Go to MinGW official website and click on ‘Downloads’ on the left panel. You’ll be redirected to the site which hosts the files.
Important Edit: MinGW official website is now down (as of 24th March 2021). Hence, instead of their official website, download from MinGW SourceForge page - Look for mingw-get-setup.exe for downloading. Download it and launch the installer. Accept the terms and move on.
- You’ll now see that the installer is connecting to the Internet and downloading a lot of tiny and small files. Wait till it ends.
- Right when it ends (which won’t take long), you’ll be presented a window with title MinGW Installation Manager. You should be in the ‘Basic Setup’ tab by default when it launches. If not, click on Basic Setup.
- Out of the numerous check boxes presented to you on the right side, tick «mingw32-gcc-g++-bin«. If you are prompted with a menu, click on Mark for Install.
- Then on the top left corner click on Installation > Apply Changes. And wait while it downloads a billion files and installs them.
- Now you gotta edit your «Environment Variables» as well, so that gcc works in cmd no matter the file location.
- For that go to Windows Explorer > Right click on This PC > Properties > Advanced system settings > Environment Variables or you could just search for «Environment Variables» in Windows Search…
-
At the bottom «System Variables» panel, look for a Variable named «Path» and double click on it. Some systems show a good UI for adding a New Path easily (by clicking New), else you just need to add ; at the end and add the following path
C:MinGWbin
(This is assuming you didn’t manually change any installation paths and went with just clicking ‘Next’ during installation)
-
Click on OK, and OK and close the other windows. Open a Command Prompt Terminal and try typing
gcc --version
and press Enter.If you get something like
gcc (MinGW.org GCC Build-2) 9.2.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc has been successfully installed in your PC. Enjoy!
Cheers and happy coding!
Yes, this is technically an “ad”, but really we just want to ask if you want to join DEV. We have 900k+ developers reading, posting, and enjoying community, and would love to have you. Create an account and continue your coding journey.
On Linux, gcc is install by default and you can start to compile and execute C language code almost right away!
That’s not the case on Windows…
I have been struggling with how to do the same thing on Windows 10 for some time, but I finally succeeded
Here’s a video in which I explain the procedure:
Note: The procedure I describe here will not only allow you to install gcc, but also g++, gfortran, and many other useful tools that you usually only get in linux OS (like ls or grep)
1- What I want to teach you here
If you want a simple way to create programs based on C, C++, Fortran, etc… you will have to install a software with can compile the code you write into code that the machine understands
Such program is called a “compiler”
The most well know compiler for C language is the GNU compiler called GCC.
There are actually several compilers which go together like a suite:
- for C++, you have the compiler g++
- for Fortran, the compiler is called gfortran
Why using the gcc compiler?
If you are on Windows, you probably heard about software such as visual studio from Microsoft which also you to write and compile C and C++ code as well.
That’s true, and it’s totally fine if you want to use it…
I am personally not such a big fan of Visual Studio because of the following reasons:
- It is huge to download and install (between 10 and 20 GB if I remember)
- It’s a big pain to set up the first time
- Building even a very simple project takes much more time than it should
Because of that, I find that I kind of takes out the fun of programming and seeing immediately the result of what you did…
Now, for large pieces of software, visual studio is probably the way to go
Once installed on your machine, gcc is just a piece of cake to use to compile a simple c language code
Step 1: Write your c code
For example, let’s take this Hello World example
#include #include int main() { printf("Hello World!/n"); return 0; }
Step 2: Compile using gcc
Write the following line of code into your terminal:
gcc helloworld.c -o helloworld
This will generate an executable binary file called helloworld.exe which can be used to run your code
Step 3: Execute your code
Just go into the directory where your executable is and run it by writing “helloworld.exe”
2- The principle
Now that you understand how it can be easy to start with writing C code, let’s talk about the difficult part…
How to actually install gcc on Windows…
The reason it is easy to install compilers and other kind of open source software on linux is because you have a very powerful command line terminal called bash which handles the installation, uninstallation and upgrade of software using a software called “apt” on debian-based linux systems.
On Windows, if you want to have gcc (and the other compilers too), you have to download the source code and find a way to compile it…
For that, you will need to install first other software called pre-requisites which will also need to be compiled, etc…
You can spend several days trying to do that if you are really motivated
I will present you another way much simplier!
For that I will have to install a software called MSYS2, which is an “easy” way to give some linux feel to your Windows PC and able it to install programs almost as easily as in linux…
You will be able to install gcc just with one command line like this:
Excited?
Let’s go
3- Installing MSYS2 on your PC
What is MSYS2?
According to their website, MSYS2 is a software distribution and building platform for Windows
The Website: https://www.msys2.org/
Installing it is actually a peace of cake
Just download the correct installer and launch it with admin rights and you are good to go
Expected something more complex?
Sorry about that
Once you installed it, you will see 3 programs appear in your list of programs:
- MSYS2 MinGW 32-bit
- MSYS2 MinGW 64-bit
- MSYS2 MSYS
Run the 3rd one MSYS2 MSYS to open a special command window in which you can input commands and start to install programs
The package management system which is equivalent to apt-get on linux is called pacman
When you install MSYS2 for the first time, you have to update pacman using the following command:
pacman -Syu
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:msys64usrbin 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
5- Last Important Step: Add Executables to your Windows PATH
Now you are able to install all those packages easily, but how to access them through the normal windows command line?
For that, you have to add the two following directories to your PATH:
C:msys64mingw64bin C:msys64usrbin
To add anything to your PATH in Windows 10:
1- Search “Advanced System Settings” in the search bar
2- Open the “environment variables” window, click on the PATH variable and click on “Edit”
3- Click on the “New” button and add the 2 following directories to your PATH
Important Note: This adds a lot of executables to your path which might conflict with other applications. The usrbin directory contains the whole slew of executables listed above. There is a lot of unnecessary stuff in that directory.
4- Click on OK on all the windows and open a new Command Window and you will be able to use gcc into your windows command prompt!
That’s all for today, hope you understand better now how to install and use GCC and other linux tools on windows!
I will write new articles soon about how to develop simple programs in C.
Let me know through the comments if there is something special that you want to understand!
–Cyprien
PS: If you like what I write, subscribe to the newsletter and help me to spread the knowledge by sharing this article! We all win by learning from each other and making the engineering knowledge more accessible THANK YOU!
Для работы над заданиями курса в Windows 10 рекомендуется использовать следующее программное окружение:
- Редактор Visual Studio Code
- Инструменты командной строки Git for Windows
- Среда разработки MinGW-w64 (Minimalist GNU for Windows), содержащая компилятор GCC (GNU Compiler Collection)
- Инструменты для сборки проектов CMake
- Система управления пакетами python Miniconda3
Рассмотрим процесс установки и настройки этих инструментов.
Установка VS Code
Установка VS Code не представляет сложностей. Достаточно скачать установочный файл со страницы загрузок и запустить его. Пока это все, что необходимо сделать. После установки остальных программ мы вернемся к настройке VS Code.
Установка и настройка Git for Windows
Скачайте установочный файл Git for Windows со страницы загрузок и запустите его. На момент написания этого текста актуальной версией является 2.28.0. В процессе установки Вам будут заданы вопросы по конфигурации. В большинстве случаев подойдут рекомендуемые варианты.
Если в системе уже установлен редактор VS Code, то его можно выбрать в качестве редактора по умолчанию для Git:
Важным моментом является настройка обработки конца строки в файлах. Чтобы с этим не возникало проблем, необходимо выбрать вариант, который уже отмечен по умолчанию:
Чтобы команды git были доступны во всех терминалах, следует выбрать рекомендуемый вариант для изменения переменной окружения PATH:
Проверьте, что установка завершилась успешно, открыв терминал и исполнив команду git
. Результат должен выглядеть так:
> git
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path]
[--info-path] [-p | --paginate | -P | --no-pager]
[--no-replace-objects] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
В качестве терминала в Windows 10 мы рекомендуем использовать PowerShell.
Теперь необходимо задать имя пользователя и адрес электронной почты:
> git config --global user.name "Ivan Petrov"
> git config --global user.email i.petrov@nsu.ru
Git хранит настройки в файле ~.gitconfig
. У автора этот файл выглядит следующим образом:
[user]
email = vit.vorobiev@gmail.com
name = Vitaly Vorobyev
[core]
editor = "[path-to-vscode]" --wait
На этом первоначальная конфигурация инструментов git завершена. Навык работы с git приходит с практикой. Действия с git, необходимые для выполнения заданий курса, всегда будут подробно описаны. Тем не менее, мы рекомендуем обращаться к документации, чтобы прояснять непонятные моменты.
Установка MinGW-w64
Установочный файл MinGW-w64 mingw-w64-install.exe
можно найти на этой странице. При установке не нужно менять настройки по умолчанию, кроме пути установки. Путь установки не должен содержать пробелов, поэтому путь по умолчанию в директории Program Files
не подходит.
После завершения установки, в директории mingw32bin
будут расположены различные исполняемые файлы. Среди них нас интересует файл g++.exe
, который запускает сборку программ C++. Сделаем так, чтобы этот файл был доступен в любой директории из командной строки. Если этого не сделать, то для использования команды g++
надо будет прописывать полный путь до файла g++.exe
.
Откройте меню “Система” в “Панели управления”:
Из меню “Система” перейдите в “Дополнительные параметры системы”:
Выберите “Переменные среды”:
Выберите переменную Path
и нажмите кнопку “Изменить…”:
Добавьте в новую строку полный путь до директории mingw32bin
и нажмите кнопку OK.
Чтобы проверить, что настройка выполнена успешно, откройте консоль (не в директории mingw32bin
) и выполните команду g++ --help
:
> g++ --help
Usage: g++.exe [options] file...
Ваша система теперь готова к сборке программ на языке C++.
Установка CMake
Скачайте со станицы загрузок установочный файл cmake-3.18.1-win64-x64.msi
(на момент написания текста актуальная версия — 3.18.1). Для 32-разрядной системы вместо этого нужно скачать файл cmake-3.18.1-win32-x86.msi
. Запустите файл и выполните установку. В ходе установки выберите изменение переменной окружения PATH:
Выполните в консоли команду cmake --help
для проверки корректности установки CMake:
> cmake --help
Usage
cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>
cmake [options] -S <path-to-source> -B <path-to-build>
Specify a source directory to (re-)generate a build system for it in
the current working directory. Specify an existing build directory to
re-generate its build system.
Код большинства заданий по C++ этого курса будет компилироваться с помощью CMake. Эта система значительно упрощает процесс сборки C++ проектов, особенно если они состоят из многих файлов.
Установка Miniconda3
Система Windows (в отличие от Linux) не имеет установленного по умолчанию интерпретатора python. Менеджер пакетов python Anaconda и его минимальная сборка Miniconda позволят нам установить в системы все необходимые инструменты для работы с python. Загрузите со страницы загрузки установочный файл Miniconda3 Windows 64-bit
или Miniconda3 Windows 32-bit
, в зависимости от разрядности системы. При установке отметьте галочку для добавления необходимых записей в переменную окружения PATH, несмотря на то что это действие не рекомендуется установщиком:
Убедитесь в том, что установка выполнена успешно, выполнив в консоли следующую команду:
>conda --help
usage: conda-script.py [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Выполните инициализацию (необходимо выполнить один раз):
Создайте окружение для работы с заданиями этого курса:
>conda create -n nsu python=3
Conda вычислит набор пакетов, которые необходимо установить в новом окружении, и попросит подтвердить создание окружения:
После установки активируйте новое окружение и запустите консоль python:
>conda activate nsu
(nsu) >python
Python 3.8.5 (default, Aug 5 2020, 09:44:06) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ваша система теперь готова для работы с заданиями курса “Программирование на C++ и python”. Нам осталось настроить редактор VS Code для максимально удобной работы.
Настройка VS Code
Установите следующие расширения VS Code:
- C/C++ for Visual Studio Code
- CMake Tools
- Python
Выбор интерпретатора python
При начале работы с кодом python (при открытии файла с расширением .py
) VS Code предложит выбрать интерпретатор python, который будет использоваться для подсветки кода, проверки синтаксиса и вывода подсказок:
Можете, например, выбрать интерпретатор из недавно созданного окружения nsu.
Создадим файл test.py
, содержащий одну строку:
Исполнить этот скрипт можно, открыв консоль в VS Code с помощью сочетания клавиш Ctrl+J
и набрав в ней
В правом верхнем углу окна находится кнопка с зеленым треугольником ▷, нажатие на которую приводит к тому же результату:
Настройка работы с GCC
Создайте файл test.cpp
, содержащий следующий код:
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
Скомпилируем его с помощью компилятора GCC и командной строки. Откройте консоль в VS Code (Ctrl+J
) и исполните команду
Компилятор создал исполняемый файл a.exe
. Запустите его:
Работает. Настроим теперь VS Code для автоматизации этого действия. Выберите в меню пункт Terminal -> Configure Default Build Task...
:
Выберите из выпавшего списка пункт g++.exe
. В результате будет сгенерирован файл .vscode/tasks.json
подобный такому:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: cpp.exe build active file",
"command": "D:\mingw\mingw32\bin\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Теперь при нажатии клавиш Ctrl+Shift+B
или выборе пункта меню Terminal -> Run Build Task
будет выполняться компиляция открытого файла. Для файла test.cpp
будет создан исполняемый файл test.exe
.
Работа с CMake
Откройте новую рабочую директорию VS Code, создайте в ней файл main.cpp
, содержащий следующий код:
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
и файл CMakeLists.txt
со следующим содержанием:
cmake_minimum_required(VERSION 3.0.0)
add_executable(test main.cpp)
Эти два файла составляют минимальный CMake-проект. Выполним сначала сборку CMake-проекта через консоль: создайте в рабочей директории поддиректорию build
, в которой будет осуществляться сборка, и перейдите в неё:
Выполните настройку проекта и запустите сборку:
> cmake -G "MinGW Makefiles" ..
> cmake --build .
В первой команде мы указали, что сборка будет осуществляться с помощью MinGW и что файлы проекта расположены в родительской директории (путь ..
). Вторая команда осуществляет сборку в текущей директории (путь .
). В директории build
должен появиться исполняемый файл test.exe
.
Расширение VS Code для работы с CMake позволяет автоматизировать сборку проекта. Выберите рабочую директорию VS Code (комбинация клавиш Ctrl+K+O
), содержащую файлы main.cpp
и CMakeLists.txt
. Наберите комбинацию клавиш Ctrl+Shift+P
и в строке сверху наберите команду >CMake: Configure
. Это запустит настройку инструментов CMake. После завершения настройки в нижней части окна появятся инструменты управления сборкой:
Кнопку “Сборка” запускает сборку, а кнопка ▷ — исполняемый файл.
Если автоматическая настройка CMake привела к ошибке, то, вероятно, инициализация CMake выполнилась без параметра -G "MinGW Makefiles"
. В этом случае выполните эту команду в консоли, как показано выше. Достаточно выполнить это действие один раз, после чего конфигурация этого и других проектов будет выполняться верно.
Работа с git
Покажем как можно работать с git-репозиторием через VS Code. Выполните fork репозитория задания Hello, Classroom
на GitHub:
Это действие создает новый репозиторий в Вашем аккаунте. Разрешите автоматическое тестирование решения, нажав на большую зеленую кнопку во вкладке Actions:
Новый репозиторий необходимо клонировать на Вашу локальную систему. Удобнее всего это делать с помощью протокола ssh. Для этого сначала необходимо включить OpenSSH Client, который по умолчанию выключен.
Взаимодействие с GitHub репозиторием будет происходить по протоколу ssh с помощью техники шифрования с открытым ключом. Создать пару из приватного и публичного ключа можно в консоли:
>ssh-keygen
Generating public/private rsa key pair.
По умолчанию сгенерированные ключи будут расположены в директории ~.ssh
. Файл с публичным ключом называется id-rsa.pub
. Публичный ключ нужно добавить на GitHub. Для этого откройте раздел SSH and GPG keys
в меню Settings
и нажмите на кнопку New SSH key
:
Заполните открывшуюся форму. В поле Key
нужно скопировать содержимое файла id-rsa.pub
. Проследите, чтобы при копировании не появились лишние переносы строк. Весь ключ должен быть расположен в одной строке.
Теперь мы готовы к клонированию репозитория. Выберите на компьютере директорию, в которой Вы будете работать с заданиями курса и перейдите в неё. Откройте страницу репозитория hello-classroom
в Вашем аккаунте GitHub и скопируйте строку для клонирования через ssh:
Выполните в консоли команду git clone
:
> git clone git@github.com:fakestud/hello-classroom.git
Cloning into 'hello-classroom'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done
Строка git@github.com:fakestud/hello-classroom.git
есть скопированная выше строка. Репозиторий был клонирован в директорию hello-classroom
. Выберите её в качестве рабочей директории VS Code. Прочитайте файл README.md
, содержащий инструкции по решению задания. После решения задания выполните локальную проверку:
> conda activate nsu
> pip install -r .requirements.txt
> g++ -std=c++17 main.cpp -o a.out
> test_cmd tests/ .a.out
Running 1 tests on 4 CPUs...
test1
Command: .a.out
Success
All 1 tests passed.
Тесты пройдены успешны. Значит, мы готовы к синхронизации репозитория GitHub с нашей локальной версией. В командной строке для этого достаточно выполнить следующие команды:
git add main.cpp
git commit -m "Task solved"
git push -u origin master
Редактор VS Code позволяет выполнить эти действия через графический интерфейс. VS Code отслеживает изменения локальной версии репозитория. Откройте вкладку контроля версий слева и посмотрите на список изменившихся файлов. В нашем случае это должен быть только файл main.cpp
. Выполните команду git add
, нажав на кнопку +:
Затем команду git commit
, нажав на кнопку ✓ и введя комментарий в текстовом поле:
Наконец, выполните команду git push
:
Источники
- First-Time Git Setup
- VS Code: User and Workspace Settings
- VS Code: Using GCC with MinGW
- VS Code: Get started with CMake Tools on Linux
- Git in Visual Studio Code
- Must-have плагины и несколько полезностей для СС++ разработки в VS Code
- Памятка пользователям ssh
Installation
To check if GCC already exists by running the following command in your command promt gcc -v
-
Install MSYS2 MSYS2.
-
This will install the linux shell on your Machine.
-
Update packages and mirrors using
pacman -Syu
. -
You may have to restart
-
To install GCC copy the following code and paste in the shell
Ctrl + v
might not work -
Note: Keep pressing ENTER to select the default installation instructions.
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake
- This command will take a while to download and install all files.
- After this GCC is installed but you still need to add it to your path.
- Note: IF you get the following error
gcc is not recognized as an internal or external command
GCC may not be added to your path
PATH
-
To set the path to GCC Compiler
-
Open Start and type
environment variables
-
Click
Advanced System Settings
-
Click
Environment Variables
-
In the
System variables
section add a new entry toPATH
/Path
. -
Add the following two lines
-
C:msys64mingw64bin
andC:msys64ming32bin
-
Note: The path may vary according to where you have installed MSYS2
-
GCC installation is complete you may use gcc to compile programs
If you still get this error
gcc is not recognized as an internal or external command
try this
Compiling
Locate your program
I will be giving this example considering .c
program
cd into your desired directory where file is locate or type cmd in the adress bar
then type command
gcc -o name name.c
eg. gcc -o helloworld helloworld.c
The name after -o is the name given to exe file that is generated
Correct errors if any and run the above command again when done
If no errors are generated
Type name
that is the name of your .exe
the program will have run
CODE::BLOCKS
You could also download CODE::BLOCKS IDE which comes with the GCC compiler
Download the binary release from here
Download the one that says mingw-setup.exe
Make sure that you dont have gcc previously installed in your computer
Follow the instructions
You will have to set the path manually as we did previously
The bin lies in C:Program Files(x86)|CodeBlocksMinGWbin
MinGW
MSYS2
GCC
CodeBlocks
More
Installing CodeBlocks
Thank you
На чтение 4 мин. Опубликовано 21.07.2021
Программа на любом высокоуровневом языке программирования (ЯП) должна быть скомпилирована. Компиляция – это процесс превращения изначального кода программы в последовательность нулей и единиц, то есть в машинный код. Сегодня поговорим о главном и основном компиляторе для C-подобных ЯП – gcc.
Что особенного в gcc компиляторе
Если быть точнее, то gcc– это целое семейство компиляторов, каждый из которых подходит для определенного языка.
Основные преимущества:
- написан на C – значит максимально оптимизирован;
- подходит почти для всех c-подобных языков: Ada, C, C++, Java, Fortran, Goи т.д.;
- кроссплатформенность;
- поддерживается и сегодня (последняя версия вышла весной 2021 года);
- компактный;
- работает через интерфейс консоли.
Это лишь неполный список преимуществ. Особую ценность для профессиональных разработчиков представляет открытый исходный код. Каждый желающий сможет настроить компилятор под свои нужды.
Установка gcc и g++ на windows
Установить компилятор можно отдельно, а можно в комплекте с любой IDE. Обо всем по порядку.
Отдельная установка
Отличный вариант если вы хотите писать код в текстовом редакторе, а компилировать через консоль.
Алгоритм установки:
- Проверяем наличие компилятора в системе. Для этого откройте командную строку и введите «gcc —version». Если отобразилась версия компилятора, то ничего не делаем. Компилятор уже установлен в системе.
- Если его все же нет, то переходим на сайт http://www.equation.com/servlet/equation.cmd?fa=fortran
- В таблице выбираем нужную версию. Совет: Выбирайте предпоследнюю версию, потому что она более стабильная и отлаженная.
- Компилятор устанавливается как обычная программа. Читаем соглашение, выбираем путь установки, жмем далее.
- Проверяем установку. Снова вводим «gcc–version». Должна отобразиться текущая версия компилятора.
Если не устанавливается какая-то версия, то попробуйте установить другую.
Установка вместе с другими программами
В данном случае устанавливается целая IDE, в которой помимо самого компилятора есть функции рефакторинга, отладки и т.д. Подходит для тех, кто серьезно взялся за это дело. Ниже представлены самые популярные IDE с поддержкой gcc:
- code::Blocks;
- Dev-C++;
- Eclipse;
- Netbeans.
Первые два в основном используются для обучения, а последние уже в профессиональных целях.
Компиляция программы на gcc
Давайте создадим файл «main.cpp» и добавим в него следующий код на C++:
#include <iostream>
using namespace std;
int main()
{
cout<<«Hello World»;
return 0;
}
Код просто выводит сообщение «HelloWorld» в консоль. Чтобы превратить этот файл в исполняемую программу, нам необходимо открыть командную строку и прописать путь к директории с файлом. Вводим следующую команду «gcc main.cpp -o main». По итогу в той же директории создастся новый исполняемый файл.
Существует множество аргументов для команды gcc, о них вы можете узнать на официальном сайте компилятора.
Установка на других операционных системах
Установка в Linux
Во многих UNIX-подобных системах компилятор установлен «из коробки», потому проблема отпадает сама. Но даже если gcc не установлен, решается это всего одной командой «sudoaptinstallgcc». Система попросит пароль, а после автоматически установит компилятор.
Установка в MacOS
Самый оптимальный метод установки – это загрузка IDEXCode. Если Вы не желаете устанавливать целую IDEради одного компилятора, то тогда вам необходимо установить отдельные компоненты вручную. Для этого откройте терминал и введите следующую команду:
sudo install -pkgXcode.mpkg -target /
Введите пароль и ждите автоматической установки.
Проблемы при работе с GCC компилятором
Несмотря на следование всем инструкциям, компилятор все еще не работает? Есть ряд решений для каждого отдельного случая.
Код не компилируется компилятором
Проверьте работоспособность кода в онлайн компиляторе. Возможно ошибка в самом синтаксисе, а не в компиляторе. Исправьте все ошибки и попробуйте снова. Но если код легко компилируется только в онлайн компиляторе, то дело в установленной версии gcc. Удалите ее и скачайте более новую.
«gcc» не является внутренней или внешней командой
Обычно проблема возникает, когда установочный файл был закрыт преждевременно или, когда не был прописан путь к компилятору. Самое простое решение – переустановка компилятора. Не помогло? Тогда попробуйте прописать путь к файлу компилятора через PATH. Чтобы это сделать:
- Откройте свойства компьютера (нажмите ПКМ по значку «мой компьютер» и нажмите свойства).
- Выберите «дополнительные параметры системы».
- Откройте раздел «переменные среды».
- Нажмите создать под вкладкой «переменные среды пользователя».
- В поле «имя переменно» введите «gcc», а в поле значение переменной путь к файлу.
Если вы все сделали правильно, то должно сработать.
Заключение
Gcc компилятор прост в обращении и отлично подойдет для новичков и профессионалов.
If you are a developer and trying to compile your C/C++ program in command prompt, then this article will help you to install gcc compiler and g++ compiler on your Windows 10 computer in order to compile your code. If these compilers are not installed, you will get error “gcc is not recognized as an internal or external command“.
Before we proceed with the installation steps, you must know about these tools.
- Minimalist GNU for Windows (MinGW): It is a development environment for Windows applications.
- gcc compiler: Use this compiler to compile C programs.
- g++ compiler: Use this compiler to compile C++ programs.
gcc and g++ compiler along with other compilers comes together as a package when you install MinGW tool. So, you are required to download and install MinGW tool on your development environment.
Here is a step by step guide.
Step 1: Download MinGW tool
You can download the installable from MinGW official website or from any other trusted source.
On the official website, click on Downloads tab on the top right corner. Under the Download List section, look for the Windows download button as shown below and download the setup file.
The mingw-get-setup.exe file gets downloaded to your computer in the downloads folder.
Step 2: Steps to install MinGW
- Right-click on the mingw-get-setup.exe file and run as administrator.
- In the MinGW Installation Manager Setup Tool window, click on Install.
- By default the installation directory is set as C:MinGW. You can change the installation directory by clicking on the Change button and selecting a different folder.
- Click on Continue button to start the installation.
- Once the installation is complete, click the Continue button to close MinGW Installation Manager Setup Tool.
Step 3: Install packages in MinGW / Install gcc compiler
Once you install MinGW, open MinGW Installation Manager from Windows start menu that contains the list of packages you can install.
Select the packages you want to install and right-click and choose Mark for Installation. Make sure to mark all GNU C Compiler as shown below.
Note: After installation, if you want to remove, upgrade or reinstall certain packages, then you can use MinGW Installation Manager and choose respective option by right-clicking on the package.
Once you mark all packages for installation click on Installation menu and select Apply Changes.
In the Schedule of Pending Actions window, click on Apply button. It starts installing marked packages on your local environment.
Step 4: Set up environment variable for MinGW
Once the MinGW setup is complete and the gcc and g++ compiler packages are installed, you must set the PATH variable for your computer.
- Go to Control Panel → System and Security → System or right-click on This PC → Properties.
- Click on Advanced system settings. It opens System Properties dialog box.
- In System Properties window, under Advanced tab, click on “Environment Variables…” button to open environment variables window.
- Under System variables section, edit the path variable and append gcc compiler path up to bin folder.
Note: The bin folder contains executable files of the compiler.
Step 5: Test installation of gcc and g++ compiler
To test if the gcc compiler or the g++ compiler is installed correctly, open a command prompt and type the following command.
For gcc compiler: gcc –v
For g++ compiler: g++ -v
If these commands return the version of the compiler, then it means you have installed gcc and g++ compilers correctly.
If you are getting an error message “gcc is not recognized as an internal or external command” then click on below link to resolve the error.
Fix: gcc is not recognized as an internal or external command, operable program or batch file.
Final words:
These are all the steps you need to follow in order to install gcc compiler and g++ compiler on your computer and execute your C/C++ program in command prompt. If you have any questions or issues, do let us know in the comments section.
Cheers !!!
In this tutorial ,
We will learn How to install 64 bit (GCC) GNU Compiler Collection (Mingw-w64 port) on a Windows 10 system using MSYS2 installer for C/C++ software development.
|
GNU Compiler Collection (GCC) is an compiler produced by the GNU Project supporting various programming languages like for Objective-C, Objective-C++, Fortran, Ada, D and Go. Here we will be concentrating only C/C++ development on Windows 10.
GCC along with other utilities like GNU Binutils for Windows (assembler, linker, archive manager), set of freely distributable Windows specific header files and static import libraries have been ported to Windows platform and is available in the following flavors.
- MinGW — («Minimalist GNU for Windows») which can be used for creating 32 bit native executable on Windows platform
- Mingw-w64 — 64bit
Please note that we will not be covering WSL or Windows Subsystem for Linux.
What is Mingw-w64
Mingw-w64 is a fork off MinGW which provides a more complete Win32 API implementation including Win64 support,C99 support, DDK, DirectX.Mingw-w64 can generate 32 bit and 64-bit executables for x86 under the target names i686-w64-mingw32 and x86_64-w64-mingw32.
Here we will be using Mingw-w64 for C/C++ native application development using Windows API as most modern PC are now 64 bit.
Mingw-w64 Project does not provide any binaries for download from its website instead it maintains a list of Pre-built toolchains and packages provided by other vendors.
These prebuilt toolchains contains GCC, Debugger ,Package Manager ,Terminals and a set of other Unix tools like curl, openssl, sed, awk etc which can be used for development on Windows Platform.
Here we will be using a Mingw-w64 package called MSYS2 Software Distribution
MSYS2
MSYS2 is a collection of tools and libraries providing the developer with an easy-to-use environment for building, installing and running native Windows software.
MSYS2 Software Distribution consists of
- command line terminal called mintty,
- Bash,
- tools like tar and awk
- build systems like autotools,
all based on a modified version of Cygwin. Despite some of these central parts being based on Cygwin, the main focus of MSYS2 is to provide a build environment for native Windows software and the Cygwin-using parts are kept at a minimum.
To install and remove various software packages internally MSYS2 uses Pacman as their package manager.
MSYS2 is sponsored by Microsoft Open Source Programs Office through their FOSS Fund.
- Download MSYS2 Software Distribution (Mingw-w64) for Windows
- Download extra MSYS2 Packages from Repo here
Installing MSYS2 on Windows
Installing MSYS2 on Windows 10 is quite easy. Download the executable using the above link and run it
After the binary is installed on your system ,
MSYS2 comes with different environments/subsystems and the first thing you have to decide is which one to use.
The differences among the environments are mainly environment variables, default compilers/linkers, architecture, system libraries used etc.
If you are unsure, go with UCRT64.
UCRT (Universal C Runtime) is a newer version which is also used by Microsoft Visual Studio by default.
It should work and behave as if the code was compiled with MSVC.
You can start a terminal .The default terminal is Mintty (above)
Install GCC on Windows using Pacman on Windows 10
MSYS2 on Windows 10 uses pacman as its package manager.
After installing MSYS2 ,you can check the installed packages by typing
$pacman -Q
on the Mintty terminal.
This will list all the available packages on your system.
GCC will not be installed by default, So you can go to the package repo and search for gcc.
You can now use pacman to install gcc
$pacman -S gcc
After which you can check GCC by issuing the whereis command.
$whereis gcc
Compiling C/C++ file on Windows10 using GCC (MingW-w64/MSYS2)
First we will compile a simple c file using gcc.
Code below ,Save as main_c.c
#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}
Compile and run the code using the below commands
$ gcc -o main_c main_c.c $ ./main_c
Compiling a C++ code using GCC (MingW-w64/MSYS2)
Code below, Save as main_cpp.cpp
#include <iostream> using namespace std; int main() { cout << "Hello from MSYS2n!"; cout << "Compiled C++ Filen!"; }
Compile and run the code using the below commands
$ g++ -o main_cpp main_cpp.cpp $ ./main_cpp
Compiling a Win32/64 API GUI C code using GCC (MingW-w64/MSYS2)
Now we will compile a Win32/64 GUI application using GCC (MingW-w64/MSYS2) on Windows 10 .
We will create a Window and a Message Box using Win32 native api and configure the gcc to compile and link to the native system API.
Copy the below code and save it as win.c
#include<Windows.h> int WINAPI WinMain(HINSTANCE hInstance, //the instance of the program HINSTANCE hPrevInstance, //the previous instance LPSTR lpCmdLine, //ptr to command line args int nCmdShow) //display properties { HWND h; h = CreateWindow("BUTTON", "Hit me", WS_OVERLAPPEDWINDOW, 350,300,250,100,0,0, hInstance,0); //Create a window with BUTTON class ShowWindow(h,nCmdShow); //show the window MessageBox(0,"Press Me","Waiting",MB_OK); //used to display window }
You can compile the Win32 API code on GCC using the following command
$ gcc -o win win.c -Wl,--subsystem,windows -lgdi32 $ ./win
Here
-
The -Wl,—subsystem,windows linker switch ensures that the application is built as a Windows GUI application, and not a console application. Failing to do so would result in a console window being displayed whilst your application runs
-
You should link with the gdi32 library using «—lgdi32 » otherwise the code will complain about «undefined reference to GetStockObject«.