Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [SFML 2.0] Problème avec les textures  (Lu 4417 fois)

0 Membres et 1 Invité sur ce sujet

Harmonic

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
[SFML 2.0] Problème avec les textures
« le: Mars 25, 2013, 05:43:04 pm »
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:

Citer
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

Citer
        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:

Citer
'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 !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] Problème avec les textures
« Réponse #1 le: Mars 25, 2013, 07:08:55 pm »
Il faut que tu recompiles SFML, il n'y a pas de version précompilée pour Visual C++ 11.
Laurent Gomila - SFML developer

Harmonic

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [SFML 2.0] Problème avec les textures
« Réponse #2 le: Mars 27, 2013, 04:35:45 pm »
Bonjour, j'avais récupéré une version précompilé sur le forum anglais pourtant. Il a été compilé pour VS12.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] Problème avec les textures
« Réponse #3 le: Mars 28, 2013, 10:32:41 am »
Dans ce cas utilise ton debugger pour avoir plus de détails concernant le crash.
Laurent Gomila - SFML developer

Harmonic

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [SFML 2.0] Problème avec les textures
« Réponse #4 le: Mars 29, 2013, 04:23:16 pm »
Le problème vient à partir du positionnement de la texture dans le sprite, le reste des erreurs s'enchainant a été mis ci-dessus.

Harmonic

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [SFML 2.0] Problème avec les textures
« Réponse #5 le: Avril 01, 2013, 11:16:32 pm »
Bonsoir, j'ai par curiosité encore une fois compilé sfml mais j'ai toujours le même problème... J'avais cependant oublié la déclaration d'une lib (main-d). Le programme ne crash plus mais j'ai toujours les soucis avec les PDB ainsi que l'écran blanc ou rien ne s'affiche.