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

1

12.03.2016, 18:45

SFML draw() will nicht :(

Heyho,
beim debuggen meines Projekts kommt immer ein Fehler :

Fehler LNK1120 1 nicht aufgelöste Externe
Fehler LNK2001 Nicht aufgelöstes externes Symbol ""public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)".

wenn ich mainWindow.draw(texGUI); ausklammere funktionierts ohne Probleme nur eben ohne das Bild :/
Hab schon X Beiträge durchgelesen und nicht schlauer geworden! Hat jemand evtl. eine Idee? :)

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
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string>
#include <SFML\Graphics.hpp>
using namespace std;
using namespace sf;

int main() 
{
    RenderWindow mainWindow(VideoMode(900, 600, 32),"SNAKE GAME", Style::Default);
    Event mainEvent;
    Image Image;
    Image.loadFromFile("snakegameGUI.png");
    if (!Image.loadFromFile("snakegameGUI.png"))
        cerr << "Fehler beim Laden -E001-" << endl;
    Texture tex;
    tex.loadFromImage(Image);
    Sprite texGUI;
    texGUI.setTexture(tex);
    
    
    while (mainWindow.isOpen()) {
        while (mainWindow.pollEvent(mainEvent)) {
            if (Keyboard::isKeyPressed(Keyboard::Key::Escape)) {
                mainWindow.close();
            }
            if (Mouse::isButtonPressed(Mouse::Button::Left)) {
                cout << "Left Mouse Click" << endl;
            }
            if (Mouse::isButtonPressed(Mouse::Button::Right)) {
                cout << "Right Mouse Click" << endl;
            }
        }
        
        mainWindow.clear();
        mainWindow.draw(texGUI);
        mainWindow.display();
    }
    return 0;
}

FSA

Community-Fossil

  • Private Nachricht senden

2

12.03.2016, 19:22

Welche Lib's hast du gelinkt? Auch die Debug Version?

Das ist übrigens noch kein Debuggen, das Linken kommt nach dem Kompilieren und vor dem Ausführen.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

3

12.03.2016, 19:52

Im Release:
sfml-graphics-s.lib
sfml-window-s.lib
sfml-audio-s.lib
sfml-network-s.lib
sfml-system-s.lib


Im Debug:
sfml-graphics-d.lib
sfml-window-d.lib
sfml-audio-d.lib
sfml-network-d.lib
sfml-system-d.lib


meinst du das ? :)

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

4

12.03.2016, 20:17

Bei mir habe ich es so:

Debug:
sfml-audio-d.lib
sfml-graphics-d.lib
sfml-network-d.lib
sfml-system-d.lib
sfml-window-d.lib

Release:
sfml-audio.lib
sfml-graphics.lib
sfml-network.lib
sfml-system.lib
sfml-window.lib

Bei mir klappt alles soweit ;)

5

13.03.2016, 00:36

ich habe mal deine benutzt -> selbes Problem :(

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

6

13.03.2016, 03:41

Hast du nicht versehendlich eine "faklsche" SFML-Version genommen bzw. kompilierst du auf 32-bit oder 64-bit?

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

7

13.03.2016, 09:27

...sfml-graphics-s.lib... Das -s steht für static. Ist das SFML_STATIC macro definiert?

SFML and Visual studio
:love: := Go;

8

13.03.2016, 11:06

Du mischt auch Dynamic und Static in der Bezeichnung der lib's.

Lies dir H5:: sein Link durch da steht alles.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

9

13.03.2016, 13:55

Danke für die ganzen antoworten!
Ich verwende 32-bit SFML und kompiliere in 32-bit.
SFML_STATIC ist eingetragen.
Ich habe eigentlich alles so wie in dem Bericht/Artikel von H5. :)

Das Copy/Paste Beispielprogramm aus dem Artikel funzt auch nicht !

10

13.03.2016, 15:37


Ich habe eigentlich alles so wie in dem Bericht/Artikel von H5. :)

Hast du deine Debug lib's auch auf Static umgestellt? Denn das was du gepostet hattest war dynamisch Linken für Debug.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

Werbeanzeige