1

Тема: Як встановити компілятор стандарту С++11?

Всім добрий вечір. Почав вивчати С++ зовсім нещодавно з підручником Стівена Прати "Мова прогр. С++" (чи якось так). І там багато де зустрічаються функції, класи та ін. зі стандарту саме С++11, коли в мене, нажаль, компілятор підтримує тільки С++98/03. Ці фічи з С++11 корисні, і я б з радістю вже практикував їх використовувати, але не можу через це :(
Використовую останню (наскільки мені відомо) версію CodeBlocks - 16.01.
Компілятор(gcc) скачував разом із самою IDE. Порадьте, будь ласка, що робити. Можна якось скачати та встановити компілятор з новою підтримкою в цю IDE чи треба повністю міняти IDE? Що тоді порадите?
Заздалегідь дякую :)

2

Re: Як встановити компілятор стандарту С++11?

Здається, в CodeBlocks в опціях компілятора можна вибрати версію, щось на зразок - std=c++11

Подякували: koala, rostl2

3

Re: Як встановити компілятор стандарту С++11?

Яка версія gcc?

GCC 4.8.1 was the first feature-complete implementation of the 2011 C++ standard, previously known as C++0x.

This mode can be selected with the -std=c++11 command-line flag, or -std=gnu++11 to enable GNU extensions as well.

Подякували: rostl1

4

Re: Як встановити компілятор стандарту С++11?

Master_Sergius написав:

Здається, в CodeBlocks в опціях компілятора можна вибрати версію, щось на зразок - std=c++11

налаштування компілятора облазив всі, не знайшов :(

5

Re: Як встановити компілятор стандарту С++11?

quez написав:

Яка версія gcc?

GCC 4.8.1 was the first feature-complete implementation of the 2011 C++ standard, previously known as C++0x.

This mode can be selected with the -std=c++11 command-line flag, or -std=gnu++11 to enable GNU extensions as well.

Нажаль не можу сказати, як можна це з'ясувати?

6

Re: Як встановити компілятор стандарту С++11?

Я знайшов все-таки в налаштуваннях "std=c++11" і тепер все ок :)
Всім ще раз дякую хто відгукнувся

7

Re: Як встановити компілятор стандарту С++11?

gcc  хоч зібраний з стандартом c++11 ? Це ж опенсорс, хто як хоче так і збирає
от в неті нарив

#include <iostream>
 
int main()
{
    std::cout << __cplusplus;
}

Компілятор, який підтримує С ++ 98/03 збере програму, яка виведе: 199711
Компілятор, який підтримує С ++ 11 виведе: 201103
Для С ++ 14 виведе: 201300 або +201402

Подякували: Дмитро-Чебурашка1

8

Re: Як встановити компілятор стандарту С++11?

reverse2500 написав:

Компілятор, який підтримує С ++ 98/03 збере програму, яка виведе: 199711
Компілятор, який підтримує С ++ 11 виведе: 201103
Для С ++ 14 виведе: 201300 або +201402

Від ключів залежить, бо там режим компіляції поточної програми, а не режим збирання компілятора.

/tmp$ g++ -O2 -s -o t t.cpp
/tmp$ ./t
199711
/tmp$ g++ --std=c++11 -O2 -s -o t t.cpp
/tmp$ ./t
201103
/tmp$ g++ --std=c++14 -O2 -s -o t t.cpp
g++: error: unrecognized command line option ‘--std=c++14’

Останнє очікувано, бо це

/tmp$ g++ --version
g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

Подякували: Дмитро-Чебурашка1

9

Re: Як встановити компілятор стандарту С++11?

налаштування компілятора облазив всі, не знайшов

Makefile редагуйте

Подякували: Дмитро-Чебурашка1

10 Востаннє редагувалося Дмитро-Чебурашка (07.11.2016 14:16:02)

Re: Як встановити компілятор стандарту С++11?

Master_Sergius написав:

    Здається, в CodeBlocks в опціях компілятора можна вибрати версію, щось на зразок - std=c++11

І я також кажу що можно. Принаймні я саме CodeBlocks користуюся, і саме таке в ньому є. Я зараз подивлюся.


Settings> Global compiler settings       Подивись, будь ласка.

11

Re: Як встановити компілятор стандарту С++11?

reverse2500 написав:

Для С ++ 14 виведе: 201300 або +201402

Доповнення: g++ 5.4.0 (убунта 16.04) на --std=c++14 видає 201402, на --std=c++17 видає 201500

12

Re: Як встановити компілятор стандарту С++11?

Так і не зрозумів яка в автора операційка. Якщо Windows, то компілятор раджу поставити MinGW-w64 звідси https://sourceforge.net/projects/mingw- … posix/seh/(для Win64). Плюс IDE Qt Creator і Cmake до нього. Ще можна спробувати Clion (дуже крута IDE). Для підтримки нових стандартів прописати в cmake_lists.txt приблизно таке:

cmake_minimum_required(VERSION 3.4)
set(PROJECT MyProject)
project(${PROJECT})
 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
 
set(SOURCE_FILES main.cpp header.h)
add_executable(${PROJECT} ${SOURCE_FILES})
Подякували: 0xDADA11C71