Je vous écris parce que j'ai une exception que je ne comprend pas, dans un code tout simple.
Ça fait des jours que je cherche sans résultat... C'est surement une erreur toute bête.
#include <SFML/Graphics.hpp>
#include <iostream>
#include <cstdlib>
sf::Texture texture1;
sf::Texture texture2;
sf::Sprite test1;
sf::Sprite test2;
int main()
{
sf::RenderWindow window(sf::VideoMode(700, 700), "test");
if (!texture1.loadFromFile("tile/test.png"))
{
return -1;
}
if (!texture2.loadFromFile("tile/test2.png"))
{
return -1;
}
test1.setTexture(texture1);
test2.setTexture(texture2);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
{
window.close();
}
}
window.draw(test1);
window.draw(test2);
window.display();
window.clear();
}
return 0;
}
Si vous avez une idée sur l'erreur je suis preneur. Je précise le message d'erreur :
Exception de première chance à 0x778ce3be dans game.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x87a9ecc5.
Le thread 'Thread Win32' (0x140c) s'est arrêté avec le code 0 (0x0).
Le programme '[2816] game.exe: Natif' s'est arrêté avec le code 0 (0x0).
J'ai réussi à corriger le problème de la conversion en fichier COFF mais l'autre problème est toujours là. Une fois sur deux mon ordinateur ce met à biper en continu même avec un point d'arrêt, c'est très bizarre. L'erreur vient de la ligne du chargement de la première texture "if (!texture1.loadFromFile("tile/test.png"))
"
L'erreur semble venir de l'objet "texture 1", je lui ai mis un espion qui m'a donné ces valeurs, je sais pas si elles conviennent et que l'erreur vient de là.
- texture1 {m_size={...} m_actualSize={...} m_texture=0 ...} sf::Texture
sf::GlResource {...} sf::GlResource
- m_size {x=0 y=0 } sf::Vector2<unsigned int>
x 0 unsigned int
y 0 unsigned int
- m_actualSize {x=0 y=0 } sf::Vector2<unsigned int>
x 0 unsigned int
y 0 unsigned int
m_texture 0 unsigned int
m_isSmooth false bool
m_isRepeated false bool
m_pixelsFlipped false bool
m_cacheId 1 unsigned __int64