Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обеспечить вызов функции foo в x% случаев Добрый день! Возникла следующая трудность. Есть функции void increment() и void decrement(). Есть цикл до 100, в котором необходимо вызвать фнкцию void increment() x раз, а void decrement() y раз. Подскажите пожалуйста как можно это осуществить с помошью функции rand или как-то еще, но не так, чтобы первые х раз вызвалась одна функция, а потом другая. https://www.cyberforum.ru/ cpp-beginners/ thread1874466.html C++ Запись символов из файла в единичный char и строку
Всем привет, учусь получать данные из файла и нашёл такое явление: если у нас есть такой код: ifstream gt("test.ini"); char buff; gt >> buff; cout << buff << endl; gt >> buff; cout << buff << endl;
C++ Сравнить две строчки букв Задача такая: Вводится две строчки английских заглавных букв и надо найти все совпадения пар букв в них. Пример: Вводится послежовательность ABBCCCB, в ней содержатся пары AB BB BC CC CC CB и вводится вторая последовательность с клавиатуры, например ABHGJFCC, совпадают AB и СС, причём СС-два раза, в итоге всего этого выводится число 3 на экран (и больше ничего другого), помогите пожалуйста... https://www.cyberforum.ru/ cpp-beginners/ thread1874454.html C++ не удается передать объект из одного класса в другой посредством return есть класс Reading,в котором находится два объекта типа string :text и line,их я передаю с помощью двух аналогичных методов std::string outch() { return line; }; и std::string outstr() { return text; };.В main() я вызваю эти методы и приравниваю их к строкам li и prom,затем передаю их в метод другого класса,так вот,я посмотрел по отладке,с prom всё хорошо работает,он его ретернет,затем... https://www.cyberforum.ru/ cpp-beginners/ thread1874450.html
C++ Crt detected that the application wrote to memory after end of heap buffer
#include <iostream> using namespace std; class Vector { private: int size; double *vector; public: Vector() {
C++ Определить расположение точки по отношению к прямоугольнику https://www.cyberforum.ru/ cpp-beginners/ thread1874447.html
Ребят, помогите пожалуйста с задачей, а то голова уже кипит. Пользователь введите высоту и ширину одно прямоугольника, а так же координаты точки на плоскости. Считаем, что центр прямоугольника находится на координатах 0,0. Нужно определить как относится точка к прямоугольнику - находится в центре, внутри, на границе, в каком секторе или за приделами Добавлено через 16 часов 11 минут Я уже...
C++ Работа с потоками https://www.cyberforum.ru/ cpp-beginners/ thread1874441.html
Добрый вечер. Возникла такая проблема: в консольном приложении воспроизводится музыка при помощи mciSendString(s.c_str(), NULL, 0, NULL); Нужно сделать возможность паузы и прекращения воспроизведения. Как это можно реализовать? Думал вынести воспроизведение в отдельный поток, но как приостановить его выполнение или прекратить?
C++ Массив структур С++
Массив структур меcтит информацию о 30 студентов: фамилия; имя; место проживания (общежитие или дом); номер телефона (если он есть). Считать данные с файла (struct.txt) и вывести фамилии студентов, проживающих дома и имеют домашний телефон. Вот что есть, помогите, что надо что бы он роботал, с структурами я неочень, подскажите что надо исправить. Вот что в struct.txt "Данилюк, Анрій,...
C++ Для структуры данных, приведенной на рисунке, необходимо создать массив Для структуры данных, приведенной на рисунке, необходимо создать массив записей и определить клиента, который полностью рассчитался за строение. https://www.cyberforum.ru/attachment.php?attachmentid=772422&stc=1&d=1481401859 https://www.cyberforum.ru/ cpp-beginners/ thread1874430.html C++ Выдать векторы с мах скалярным произведением среди векторов https://www.cyberforum.ru/ cpp-beginners/ thread1874427.html
Кто разбирается, помогите новичку, пожалуйста) задача такая :Выдать векторы с мах скалярным произведением среди векторов v1 v2 v3 ( выдать все векторы) #include "stdafx.h" #include <iostream> using namespace std; int skalyarniydobutok(int n, int *a, int *b) { const int p = 20;
Не работает передача объекта из одного класса в другой через return C++
Есть 2 объекта класс Reading ,text и line,которые посредством методов std::string outstr() std::string outch() соответственно должны присваиваться строкам li и prom ,потом впоследствии отправляться в функцию другого класса.Я проверил по отладке,text работает как надо,передаёт ,присваивает и отправляет,всё как надо,а вот с li проблемка,сама строка в line содержит текст,"std::string outch() {...
C++ Куча ошибок при подключении заголовочного файла Вот только установил новую VS, создал проект, написал лишь #include <iostream> и тут... вылазит куча ошибок В чем проблема? https://www.cyberforum.ru/ cpp-beginners/ thread1874412.html
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
0

Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23) - C++ - Ответ 9880138

11.12.2016, 00:12. Показов 117805. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Начнём с расстановки точек над некоторыми ё

Тема находится в процессе разработки.
  • эта тема создана для новичков, впервые столкнувшихся с тем, что код с форума, работающий у других форумчан, никак не желает запускаться
    .
  • среда разработки (IDE) и компилятор - это не одно и то же
    .
  • к одной и той же IDE можно подцепить разные компиляторы и разные системы сборки проектов

В этой теме я начну с рассмотрения четырёх наиболее популярных (на мой взгляд) на данный момент IDE:
...и трёх наиболее популярных компиляторов:
  • MSVC++ (так же известный как Visual C++, текущая версия на момент последнего редактирования этой статьи 14.37.32822, поставляемый в комплекте с MS Visual Studio 2022 версии 17.7.0)
    .
  • G++ (из коллекции компиляторов GCC [для операционных систем семейства Windows он же - MinGW], текущая версия на момент последнего редактирования этой статьи 13.2)
    .
  • LLVM Clang (или просто clang, текущая версия на момент последнего редактирования этой статьи 17.0.6)

Прежде чем пытаться включить поддержку какого-либо стандарта,
убедитесь, что Ваш компилятор в принципе способен на это.


Узнать какой стандарт актуален на данный момент можно здесь.

Если кто-то желает добавить информацию по другим IDE и другим компиляторам - милости прошу.

  1. Связка MS Visual Studio и VC++ compiler.
    .
    Вариант из разряда "всё включено". Скачал - и начал работать. Стандарт С++20 поддерживается, что называется, "из коробки", а так же поддерживаются отдельные фичи и из грядущего С++23. Подробности по поддержке стандарта тут.
    .
  2. Связка VS Code и g++ (GCC) compiler.
    .
    Вариант для тех, кто хочет что-то полегче, чем MS Visual Studio, но такое же красивое и удобное. По сути, VS Code - это просто текстовый редактор, но благодаря большой коллекции расширений (extensions) из него в несколько кликов можно сделать относительно легковесную IDE для многих популярных языков программирования, в том числе и для С++. Если говорить о расширениях, у меня установлены такие:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    Вы можете поставить те, которые больше нравятся Вам.

    Компилятор можно прикрутить любой, какой у Вас есть (обычно под Linux это gcc или clang, а под Windows это MinGW, MSVC++ или clang).
    Если у Вас нет никакого компилятора, его надо поставить.

    В случае, если Вы работаете под Windows, установите компилятор MinGW с помощью msys2 и добавьте его в Path (переменные среды).

    Если работаете под Линукс, скажем, используете Ubuntu, откройте терминал и установите компилятор GCC и отладчик gdb такой командой:
    sudo apt install build-essential gdb -y

    Проверьте, что компилятор установлен:
    g++ --version

    В моём случае установлен GCC 13.1, у меня это выглядит так:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)


    Для того, чтобы запускать сборку с кнопки (ставится с помощью расширений), стандарт прописываем в файле c_cpp_properties.json, который лежит в папке .vscode, а если такого файла нет, то его надо создать ручками. В моём случае (для Ubuntu 22.04 и g++) этот файл выглядит так:
    JSON
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    {
      "configurations": [
        {
          "name": "linux-gcc-x64",
          "includePath": [
            "${workspaceFolder}/**"
          ],
          "defines": [],
          "compilerPath": "/usr/bin/g++",
          "cStandard": "c17",
          "cppStandard": "c++20",
          "intelliSenseMode": "linux-gcc-x64"
        }
      ],
      "version": 4
    }
    Кроме этого надо добавить ещё два JSON-файла, один под названием tasks.json, другой под названием launch.json
    Вот как у меня выглядит tasks.json:
    JSON
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    {
        "tasks": [
            {
                "type": "cppbuild",
                "label": "C/C++: g++ build active file",
                "command": "/usr/bin/g++",
                "args": [
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}",
                    ""
                ],
                "options": {
                    "cwd": "${fileDirname}"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "Task generated by Debugger."
            }
        ],
        "version": "2.0.0"
    }
    А вот как у меня выглядит файл launch.json:
    JSON
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "C/C++ Runner: Debug Session",
          "type": "cppdbg",
          "request": "launch",
          "args": [],
          "stopAtEntry": false,
          "externalConsole": false,
          "cwd": "/home/sourcerer/dev/c++/hello_cpp",
          "program": "/home/sourcerer/dev/c++/hello_cpp/helloworld",
          "MIMode": "gdb",
          "miDebuggerPath": "/usr/bin/gdb",
          "setupCommands": [
            {
              "description": "Enable pretty-printing for gdb",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
            }
          ]
        }
      ]
    }
    Вот как это должно выглядеть в итоге:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)


    Подробные инструкции по настройке VS Code для Windows есть тут и тут.

    Если вы собираете свой проект в командной строке, то ничего этого не нужно. Просто указывайте нужные флаги компилятора в самой команде в терминале. У меня это выглядит так:
    Bash
    1
    
    g++ -Wextra -Wall -w -pedantic -std=c++20 main.cpp
    Запуск самой программы у меня выглядит так:
    Bash
    1
    
    ./a.out
    Или всё это можно сделать одной командой:
    Bash
    1
    
    g++ -Wextra -Wall -w -pedantic -std=c++20 main.cpp -o a.out && ./a.out
    Имя исполняемого файла в моём случае по умолчанию a.out, но можно выбрать любое, какое лично Вам нравится, например так:
    Bash
    1
    
    g++ -Wextra -Wall -w -pedantic -std=c++20 main.cpp -o myApp.exe && ./myApp.exe
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    .
  3. Связка QtCreator, MinGW и qmake.
    .
    Поддержка стандарта коллекцией компиляторов GCC в виде таблицы тут.
    Поддержка стандарта С++20 включается в самой IDE путём прописывания в .pro-файле строчек:
    CONFIG += C++20
    QMAKE_CXXFLAGS += -std=c++20
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    .
    .
  4. Связка Code::Blocks и MinGW.
    .
    Скачивать таким образом:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    .
    Поддержка стандарта C++11 включается просто установкой галки в настройках:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    .
    Там же можно создать новый флаг для C++14, и установить галку на него:
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
    Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)

    .
  5. Связка Code::Blocks и Clang.
    .
    Подробности тут1.
    .
  6. Связка QtCreator, Clang и cmake.
    .
    Подробности тут2.
    .
  7. Связка C++ Builder 10.1 Berlin и Clang.
    .
    Подробности тут (ниже в теме).
    .
  8. Связка Dev-C++ и GCC.
    .
    Подробности тут (ниже в теме).
    .
  9. Связка Eclipse и GCC.
    .
    Подробности тут (ниже в теме).

________________________________
1 Статья была написана полтора года назад и с тех пор актуальность информации не проверялась. Возможно, за полтора года какие-то нюансы поменялись. Позже перенесу сюда свежую проверенную версию.
2 То же, что и по предыдущему пункту. Актуальность информации, выложенной в той теме, не проверялась с 4 октября 2015 года.
.
.
Обсуждение гайда ведётся в этой теме.
.
.

Вернуться к обсуждению:
Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23) C++
23
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2016, 00:12
Готовые ответы и решения:

Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17)
Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17)

Как подключить поддержку стандарта С++11 в gcc
Как подключить поддержку стандарта С++11 в gcc. Не могу скомпилировать программу.

Подключить поддержку стандарта C99 компилятором
Здравствуйте. Стоит MinGW. Версия 4.6.2 Проблема в том, что мой MinGW не поддерживает C99....

Как включить поддержку Bookmarks
Подскажите, где можно включить поддержку Bookmarks, чтобы, наприме, использовать AbsolutePage?

3
11.12.2016, 00:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2016, 00:12
Помогаю со студенческими работами здесь

Как включить поддержку иероглифов?
Собственно как это сделать? Попытался установить японский языковой пакет, но это не помогло,...

Как включить поддержку jpeg в GD?
Всем привет! Отсутствует поддержка jpeg в GD Php 7.4 уже установлена. На ней работает сайт ...

Как включить поддержку g++ -stdc++11 в qtcreator
Здравствуйте, нужно включить поддержку 11 стандарта, как это сделать в qtcreator, не могу найти.....

Как включить поддержку OpenGL в VMware?
При рендере плеера в html5 получаю следующие ошибки: Error during ANGLE OpenGL init. Refused to...

Как включить поддержку русского языка?
Перепробовал все установочники Turbo Pascal, во всех одна и та же проблема. Погуглил , нашел...

Как включить поддержку форматов кодировок?
Уважаемые программисты подскажите пожалуйста Как включить поддержку форматов кодировок: Ниже...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru