Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ERROR

Alter Hase

  • »ERROR« ist der Autor dieses Themas

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

1

26.06.2013, 15:21

QT Creator und SFML window

Mahlzeit ;)

Ich versuche SFML im QT Creator zum laufen zu bekommen. Habe alles per CMake gebuildet und gelinkt.

hier das .pro file:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt


SOURCES += main.cpp


LIBS += -LC:/Coden/SFML/SFML_2_MinGW/lib


CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-network-d -lsfml-window-d -lsfml-system-d


INCLUDEPATH += C:/Coden/SFML/SFML_2_Master/include
DEPENDPATH += C:/Coden/SFML/SFML_2_Master/include


Soweit funktioniert eigentlich sogar alles. Ich kann SFML teilweise benutzen, zur Eklärung erstmal ein bisschen Testcode:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
//#include <QDebug>


using namespace std;


int main()
{
    sf::Vector2f testVec(100,100), Vec2(50,50);
    sf::Vector2f endVec = testVec + Vec2;


    printf("1:%f.... 2:%f",endVec.x,endVec.y);
    sf::VideoMode vMode();
    //sf::RenderWindow(sf::VideoMode(400,300,32),"test");
    cout << "Hello World!" << endl;
    return 0;
}



Soweit so gut. Mit dem Code funktioniert erstnmal alles. Sobald ich aber vMode Werte zuweise (per Konstruktor oder vMode = sf::VideoMode(200,200,32);)
hängt sich alles an der Position auf.

Nach dem Crash wird mir folgendes in der VideoMode.cpp angezeigt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
////////////////////////////////////////////////////////////
VideoMode::VideoMode(unsigned int modeWidth, unsigned int modeHeight, unsigned int modeBitsPerPixel) :
width       (modeWidth),
height      (modeHeight),
bitsPerPixel(modeBitsPerPixel)   // diese Zeile wird vom Debugger markiert
{


}


Ich habe auch probiert die 32 im Konstruktor wegzulassen, was ja möglich ist, aber auch dabei crasht es.
Kommentiere ich das aus und rechne nur mit sf::Vector2f oder lasse die Initialisierung weg klappt alles ohne Probleme.


Ein paar Angaben:

QT Creator 2.7.0
MinGW 4.7
Hardware ist aktuell
Windows 7

Oberon

Treue Seele

Beiträge: 181

Wohnort: Österreich

Beruf: Student

  • Private Nachricht senden

2

26.06.2013, 17:13

Überprüfe doch mal ob auch die richtigen SFML DLLs geladen werden. Falls du nicht weißt wie du das herausfindest (ich kenne den Qt Creator sehr schlecht) kannst du den Process Explorer oder Dependency Walker dafür benutzen.

ERROR

Alter Hase

  • »ERROR« ist der Autor dieses Themas

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

3

26.06.2013, 18:18

Ich bin Grade nur am iPhone, deswegen kann ich das Grade nicht überprüfen. Allerdings habe ich alle Pfade richtig angegeben und die dlls in das Verzeichnis des Projekts kopiert. Also sollte da alles richtig sein. Ich konnte das Problem eben auch an meinem Desktop pc testen und dort tritt das gleiche Problem auf.

Es müsste eigentlich alles richtig gelinkt sein, weil ich ja SFML benutzen kann, nur wenn es zu So etwas kommt, Crasht es.

Werbeanzeige