Wenn man nicht die GNU-Erweiterungen verwenden möchte, sondern um Plattformunabhängig zu bleiben nur den Standard dann geht es auch mitXin hat geschrieben:Dort fand ich auch den Switch den man dem Compiler mitgeben muss, um den g++ mit C++0x zu verwenden:
Code: Alles auswählen
-std=c++0x
Ein Beispiel ist die Verwendung als Callback für Tastaturaktionen in meiner Gameengine/Spiel:
Code: Alles auswählen
demo.getInputManager()->connectButtonReleased
(
[&](input::PhysicalButton& button)
{
static input::Button lighting =
demo.getInputManager()->getButton("lighting");
static input::Button load_shader =
demo.getInputManager()->getButton("load-shader");
if( lighting.has(button) )
{
renderer->setLighting( !renderer->getLighting() );
std::cout << "Lighting " << (renderer->getLighting() ? "on" : "off") << std::endl;
}
else if( load_shader.has(button) )
{
std::cout << "Loading shader..." << std::endl;
vert->loadFromFile("data/shader/instant-grass.vert");
frag->loadFromFile("data/shader/instant-grass.frag");
std::cout << "Linking program..." << std::endl;
program->link();
program->use();
}
}
);