Du bist nicht angemeldet.

Werbeanzeige

1

06.06.2010, 01:46

SFML + Visual C++ -> nicht aufgelöste externe Verweise

Ich wollte gern mit der SFML arbeiten, ich habe dazu die Tuturials auf http://wiki.sfml.boxbox.org/index.php/Hauptseite durchgearbeitet, das mit dem SFML-System ging ohne Probleme, jetzt bei dem SFML-Graphics meckert der Compiler...

Wäre nett wenn mir jemand helfen könnte, bin ratlos...

Programm-Code:

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
23
24
25
26
27
#include <SFML/Graphics.hpp>

int main() {
    // Haupt-Renderfenster erstellen.
    sf::RenderWindow  app( sf::VideoMode( 800, 600, 32 ), "SFML-Grafik" );
 
    // Gameloop starten.
    while( app.IsOpened() ) {
        // Events abarbeiten.
        sf::Event  event;
 
        while( app.GetEvent(event) ) {
            // Fenster schließen.
            if (event.Type == sf::Event::Closed) {
                app.Close();
                        }
        }
 
        // Bildschirm löschen.
        app.Clear();
 
        // Fensterinhalte auf dem Bildschirm darstellen.
        app.Display();
    }
 
    return 0;
}


Fehler:

C-/C++-Quelltext

1
2
3
4
5
1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall sf::Window::Display(void)" (__imp_?Display@Window@sf@@QAEXXZ)" in Funktion "_main".
1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall sf::Window::Close(void)" (__imp_?Close@Window@sf@@QAEXXZ)" in Funktion "_main".
1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: bool __thiscall sf::Window::GetEvent(class sf::Event &)" (__imp_?GetEvent@Window@sf@@QAE_NAAVEvent@2@@Z)" in Funktion "_main".
1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: bool __thiscall sf::Window::IsOpened(void)const " (__imp_?IsOpened@Window@sf@@QBE_NXZ)" in Funktion "_main".
1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: __thiscall sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)" (__imp_??0VideoMode@sf@@QAE@III@Z)" in Funktion "_main".


Denke eigentlich die Einstellungen sind so alle richtig:
Debug:

Zusätzliche Abhänigkeiten: sfml-system-d.lib;sfml-graphics-d.lib;

Präprozessordefinitionen: SFML_DYNAMIC;

Includes, Libs und dlls sollten alle richtig gesetzt und vorhanden sein.

dot

Supermoderator

Beiträge: 9 855

Wohnort: Graz

  • Private Nachricht senden

2

06.06.2010, 01:54

Du hast wohl vergessen die SFML .lib zu linken...

3

06.06.2010, 02:15

Versehe ich jetzt nicht ganz, in Zusätzliche Abhängigkeiten eine SFML.lib eintragen? Weil da findet er die dann nicht...

Von so einer .lib Datei war auch im Tuturial sonst nichts zu lesen, wenn ich mich nicht irre :/

dot

Supermoderator

Beiträge: 9 855

Wohnort: Graz

  • Private Nachricht senden

4

06.06.2010, 02:32

Nun ich weiß nicht wie genau die .lib heißt da ich selbst noch nie mit der SFML gearbeitet hab aber um eine dll zu linken musst du eine entsprechende import .lib linken und dein Fehler sagt eben genau dass er diese Funktionen der SFML die in dieser lib wären nicht finden kann. Kurz gesagt: Ja du musst eine SFML.lib in die zusätzlichen Abhängigkeiten eintragen (ob sie jetzt aber wirklich SFML.lib heißt oder irgendwie anders weiß ich leider nicht).

NachoMan

Community-Fossil

Beiträge: 3 905

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

06.06.2010, 10:12

ich glaub es liegt an "sfml-main.lib;"
nimm einfach die ganze liste in die zusätzlichen abhängigkeiten auf: "sfml-graphics-d.lib;sfml-window-d.lib;sfml-main.lib;sfml-system-d.lib;sfml-audio-d.lib;"
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

6

06.06.2010, 10:46

ich glaub es liegt an "sfml-main.lib;"
nimm einfach die ganze liste in die zusätzlichen abhängigkeiten auf: "sfml-graphics-d.lib;sfml-window-d.lib;sfml-main.lib;sfml-system-d.lib;sfml-audio-d.lib;"



Danke, so läuft es jetzt, irgendwie blöd dass das nicht im Tutorial erklärt wird...

Glaube das gefehlt hatte war "sfml-window-d.lib"

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KnuffiKnuffSchaf« (06.06.2010, 11:01)


Werbeanzeige