Bonjour !
Je suis en train de m'initier à SFML 2.0 avec VS12 mais j'ai malheureusement un problème dans mon code :/
J'ai fait un programme tout simple avec un main et j'ai repéré l'endroit qui posait problème mais je ne sais pas à quoi c'est dû !
sf::Window window(sf::VideoMode(800, 600), "My window");
sf::Sprite Sprite;
sf::Texture texture;
texture.loadFromFile("Smiley.jpg");
Sprite.setTexture(texture);
Comme vous avez dû le comprendre, j'aimerais charger une image JPEG et l'afficher sur mon écran. Mais lorsque je lance mon programme, j'ai ce message d'erreur:
Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
Puis est pointé dans un fichier appelé memcpy.asm
rep movsd ;N - move all of our dwords
Voilà, peut être est-ce une erreur toute bête en C++ mais veuillez m'en excuser je suis un programmeur Java s'initiant au vaste monde du C++:)
Les messages d'erreur en sortie sont les suivants:
'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\AutoBattle.exe'. Les symboles ont été chargés.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ntdll.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'D:\Programmes\AVAST Software\Avast\snxhk.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\kernel32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\KernelBase.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-graphics-2.dll'. Le module a été généré sans symboles.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-window-2.dll'. Le module a été généré sans symboles.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-system-2.dll'. Le module a été généré sans symboles.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcr110.dll'. Les symboles ont été chargés.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcp110.dll'. Les symboles ont été chargés.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\opengl32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcrt.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\advapi32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\sechost.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\rpcrt4.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\sspicli.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\cryptbase.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\gdi32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\user32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\lpk.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\usp10.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\glu32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ddraw.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dciman32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\setupapi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\cfgmgr32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\oleaut32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ole32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\devobj.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dwmapi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\winmm.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcp110d.dll'. Les symboles ont été chargés.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcr110d.dll'. Les symboles ont été chargés.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\imm32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msctf.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\uxtheme.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atiglpxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atioglxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\version.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ws2_32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\nsi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atigktxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\aticfx32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atiadlxy.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\wintrust.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\crypt32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msasn1.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dinput.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\hid.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ole32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
'AutoBattle.exe' (Win32)*: Déchargé 'C:\Windows\SysWOW64\ole32.dll'
Exception de première chance à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
Exception de première chance à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
Le thread 0x1c6c s'est arrêté avec le code 0 (0x0).
Le programme '[4912] AutoBattle.exe' s'est arrêté avec le code 0 (0x0).
Par ailleurs si vous souhaitez l'intégralité de mon main le voici:
int main()
{
sf::Window window(sf::VideoMode(800, 600), "My window");
sf::Sprite Sprite;
sf::Texture texture;
texture.loadFromFile("Smiley.jpg");
Sprite.setTexture(texture);
Sprite.setColor(sf::Color(0, 255, 255, 128));
Sprite.setPosition(200.0f,100.f);
Sprite.setPosition(200.f, 100.f);
Sprite.setRotation(30.f);
Sprite.setOrigin(0, 0);
Sprite.setScale(2.f,0.5f);
Sprite.setScale(2.f, 0.5f);
Sprite.move(10, 5);
Sprite.rotate(90);
Sprite.scale(1.5f, 1.5f);
Sprite.setScale(60,100);
// on fait tourner le programme jusqu'à ce que la fenêtre soit fermée
while (window.isOpen())
{
// on inspecte tous les évènements de la fenêtre qui ont été émis depuis la précédente itération
sf::Event event;
while (window.pollEvent(event))
{
// évènement "fermeture demandée" : on ferme la fenêtre
if (event.type == sf::Event::Closed)
window.close();
}
}
return 0;
}
Par ailleurs, la SFML 2.0 étant nouvelle et n'ayant pas encore un tuto complet pour cette version sur le site officiel, auriez-vous des tutoriels complets à me conseiller ?
Je vous remercie d'avance !