Bonsoir,
J'essaie actuellement de créer une RenderWindow dans une classe mais lorsque j'appelle la fonction .create le programme crash (le programme a cessé de fonctionner ...). J'ai vérifié, l'erreur ne vient pas de l'ordre des libs (Graphics avant WWindow). En effet, j'arrive à créer une fenêtre avec le constructeur de classe de base.
Je précise que j'arrive très bien à faire fonctionner le code teste de sfml donc je ne pense pas que le problème vienne d'une erreur d'installation.
Renderer.h
//RENDERER//
class AXION_API Renderer : public Object
{
//Constructor
public:
Renderer(GameContext* context);
//System Functions
public:
void Init(); //FONCTION D'INITIALISATION (appellée avant le Run())
void Run(); //FONCTION POUR LANCER LE RENDU
void Finish();
void Update(float DeltaTime);
private:
bool bIsRendererActive = false;
//Settings
private:
sf::ContextSettings m_settings;
//Window
private:
sf::RenderWindow m_window;
WindowSettings m_winsettings = WindowSettings();
public:
sf::RenderWindow* GetWindow();
void SetWindowSettings(WindowSettings winsettings);
};
Renderer.cpp:
void Renderer::Init()
{
std::cout << "->Renderer::Init::Start" << std::endl;
//Init Context
sf::Context();
//Init glew
glewExperimental = GL_TRUE;
glewInit();
//OpenGl settings
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
std::cout << "->Renderer::Init::End" << std::endl;
}
void Renderer::Run()
{
std::cout << "->Renderer::Run::Start" << std::endl;
m_window.create(sf::VideoMode(500, 500), "test");
std::cout << "RenderWindow created" << std::endl;
while (true)
{
//Boucle vide pour voir laisser apparaître la fenêtre (simple teste)
//Fonctionne avec l'utilisation du constructeur de base de sf::RenderWindow
}
bIsRendererActive = true;
std::cout << "->Renderer::Run::End" << std::endl;
}
Si vous avez besoin de plus d'informations, n'hésitez pas !
Merci