Я пытаюсь обновить свой компилятор C++ до C++ 11. Я немного искал, и я пришел к выводу, что мне нужно использовать флаг -std=c++0x
или -std=gnu++0x
, но я не знаю много о флажках. Может кто-нибудь мне помочь? (Я использую Ubuntu 12.04.)Компиляция C++ 11 с g ++
Здесь ошибка, что я получаю от компилятора, когда я попытаться использовать библиотеку, которая включена в C++ 11 (т.е. массив):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
Это зависит от того, что вы используете, чтобы построить. Makefile? Затмение? Что-то другое? – dutt
В новейшей версии вам, вероятно, придется использовать '-std = C++ 11'. Возможно, оба разрешены. –
Этому недостает большого контекста. Покажите полную команду, которую вы пробовали (возможно, даже образец кода, который вы пытались скомпилировать), и что на самом деле не удалось. – KillianDS