Mam trochę kodu napisanego przy użyciu standardów C++ 11, a nasza wersja g ++ to 4.4.6, więc o ile mogę powiedzieć, C++ 11 powinno być wspierane (począwszy od wersji 4.3).-std = C++ 11 flag nierozpoznana w G 4.4.6
Jednak po próbuje skompilować z flagami "-std = C++ 11 -std = gnu ++ 11", mam powtórzenia błędów
cc1plus: error: unrecognized command line option "-std=c++11"
cc1plus: error: unrecognized command line option "-std=gnu++11"
kompilacji z -std = C++ 0x produkuje błędy takie jak
DeviceInfo.cpp:22: error: expected initializer before ‘:’ token
odpowiadającego tej linii kodu:
for (cl::Platform& plat : platforms)
Czy to C++ 11 specyficzny nieco składni ? (To nie wygląda to dla mnie, ale cały ten kod został podany jako przykład tak powinien działać zgodnie z kompilatora.
pomocy?
Będziesz potrzebował GCC> = 4.7, aby uzyskać flagę 'C++ 11'. 4.4 jest za stary, nie uzyskasz wartości bazującej na AFAIK, nawet z '-std = C++ 0x'. Proszę przynajmniej przeczytać stronę podręcznika kompilatora, opcje, które obsługuje, są tam wymienione. – Mat