Hilfe zum Thema SFML VS2010 - PC Piept bei Bildern

Niv k

Mitglied
Hallo,

ich würde wirklich gerne die SFML Bibliothek benutzen. Habe sie auch eingebunden und für VS 2010 kompiliert etc. Jedoch scheitert das gane bereits am simpelen Beispeil auf der SFML Seite selbst. Das Fenster erscheint ohne Probleme, auch shapes kann ich zeichnen.
Jedoch Bilder werden nicht angezeigt.
Es kommen nur 1000ende Kryptische Zeichen in der Console (Die ebenfalls an ist, zusätzlich zum Fenster) und es piept aus den Boxen in gleichen abständen (düüd düüd düüd düüd quasi).

Wenn ich das Programm pausiere befinde ich mich in "Write.c"... WENN (nicht immer...) ein Fehler auftritt dann befinde ich mich in "streambuffer.c", wo iwas mit Overflow steht.
Kann mir nicht erklären was da vor sich geht und wie er dazu kommt zu piepen...
Kann leider grade kein Code einstellen, weil ich an der Arbeit bin, werde ihn später hinzufügen..

Ist aber so, dass dieses Problem eintritt, wenn ich ein Bild einfügen will...

UNGEFÄHR SO:
Code:
sf::image image;
image.loadfromfile("meinBild.jpg");

sf::sprite sprite(image);

App.draw(sprite);
Dies geht dann bereits schief...
Habe schon nach dem Problem gegoogelt und auch 2 Seiten gefunden, wo jemand dasselbe Problem hatte, allerdings war dort keine Lösung... Ich hoffe hier kann mir jemand helfen, denn ich möchte anfange mein Projekt zu starten und aufhören können, nach dem Problem für diesen unsinnigen Fehler zu suchen.

Danke.

Kevin
 
Zuletzt bearbeitet:
Hi

von welcher Datenbank redest du?
SFML ist für Grafik etc., keine Datenbank...

SFML ist auch nicht für die Konsole.
Dass es in der nicht funktioniert, ist verständlich.

Bitte mal den kompletten Code zeigen.
 
Entschuldigung.
Verwechsele das gerne mit Bibliothek! ;)

Werde den Code heute abend online stellen.
Die Konsole öffnet sich nur zusätzlich. Also es öffnen sich 2 Fenster: Das Fenster und die Konsole quasi...

Hoffe das macht es schon etwas klarer.
Code kommt in ca. 2 Stunden! (Noch an der Arbeit im moment...)

EDIT:
Nun der Code:

Code:
#include "stdafx.h"
#include <iostream>
#include "SFML\Audio.hpp"
#include "SFML\Graphics.hpp"
#include "SFML\System.hpp"
#include "SFML\Window.hpp"

 
 int main()
 {
     sf::RenderWindow App(sf::VideoMode(800, 600,32), "Rock MusiZ");	 
		 
		 sf::Image Image;
		 if (!Image.LoadFromFile("dgf.png")) {
		   std::cout << "Fehler beim Laden des Bildes!";
			 EXIT_FAILURE;
		 }

		 sf::Sprite Bild(Image);
     while (App.IsOpened())
     {
         sf::Event Event;
         while (App.GetEvent(Event))
         {
             if (Event.Type == sf::Event::Closed)
                 App.Close();
				 }
       App.Clear(sf::Color(255, 255, 255));				 
       App.Draw(Bild);
       App.Display();
     }
 
     return EXIT_SUCCESS;
 }

Hoffe, jetzt geht die Hilfe!
Danke!
 
Zuletzt bearbeitet:
Hab erst jetzt gesehen, dass der Code da isr.
...Hm.
Schaut eigentlich gut aus.

Proier mal einen Releasebuild, und/oder ein konsolenloses Projekt
und/oder eine ältere Version von SFML.

Fällt irgendwas auf, wenn man vom Programmstart weg in Einzelschritten debuggt?
 
Also... ich hab jetzt mal das ganze mit Visual Studio 2008 versucht, da SFML ja dafür "getestet" wurde. Dort entsteht dasselbe Problem!
Wenn ich den Code debugge dann kommt der Fehler sobald
Code:
Image.LoadFromFile("dgf.png")
aufgerufen wird. Wie gesagt, wenn ich dann stoppe bin ich "write.c" ... wenn ein ein Fehler auftritt (anscheinen Bufferoverflow) bin ich in "streambuf" ... mehr Informationen bekomme ich leider nicht wirklich...
Bitte Hilfe... kann doch nicht sein das das nicht anzuwenden ist...

Danke
Kevin
 
Nocheinmal, probier bitte
a) Release
b) ein konsolenloses Projekt
Das kann doch nicht so schwer sein.

Welche libs hast du genau im Linker eingetragen?

Wenn die oben genannten Sachen nicht helfen:
Bei SDL ist eine sln-Datei (VS-Projekt) dabei.
a) Öffne die
b) stell alles auf Debug
c) mach noch ein Projekt zu den anderen existierenden dazu, in dem du dein Programm hast
d) In der Funktion LoadFromFile aus der Datei Graphics/Image.cpp
am Anfang einen Haltepunkt machen
e) Kompilieren
f) Mit dem Debugger schauen, in welcher Zeile von LoadFromFile das Problem ist (Einzelschritt).
CreateTexture, set,oder das priv-Irgendwas am Anfang?
 
Zurück