Sto cercando di aggiornare il mio compilatore C++ in C++ 11. Ho cercato un po 'e sono giunto alla conclusione che devo usare la bandiera -std=c++0x
o -std=gnu++0x
, ma non conosco molte cose sulle bandiere. Qualcuno può aiutarmi? (Sto usando Ubuntu 12.04.)Compilazione di C++ 11 con g ++
Ecco l'errore che ottengo dal compilatore quando si tenta di utilizzare una libreria che è incluso in C++ 11 (cioè array):
#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.
Dipende da quello che si utilizza per costruire. Makefile? Eclisse? Qualcos'altro? – dutt
Nella versione più recente, probabilmente dovrai usare '-std = C++ 11'. Forse entrambi sono ammessi, però. –
Manca molto contesto. Mostra il comando completo che hai provato (magari anche il codice di esempio che hai provato a compilare) e quello che in realtà non è riuscito. – KillianDS