C ++ derleyicimi C ++ 11'e güncellemeye çalışıyorum. Biraz araştırdım ve bayrağı kullanmak zorunda olduğum -std=c++0x
ya da -std=gnu++0x
bayraklar hakkında pek bir şey bilmediğim sonucuna vardım . Biri bana yardım edebilir mi? (Ubuntu 12.04 kullanıyorum.)
İşte C ++ 11 (yani dizi) bulunan bir kütüphane kullanmaya çalıştığınızda derleyici gelen hata:
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Bu dosya, yaklaşan ISO C ++ standardı C ++ 0x için derleyici ve kütüphane desteği gerektirir. Bu destek şu anda deneyseldir ve -std = c ++ 0x veya -std = gnu ++ 0x derleyici seçenekleriyle etkinleştirilmelidir.
g++-4.6
varsayılan olarak 12.04 gemi ubuntu (sadece destekliyor -std=c++0x
)
g++
, örn g++ -std=c++0x _filename_ && ./a.out
.
-std=c++11
bunun yerine kullanmanız gerekir . Belki ikisine de izin verilir.