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

31.01.2015, 00:06

error C2504

Hallo zusammen,

ich probiere mich gerade anhand von Tutorials etc. mit der C++ Programmiersprache in Visual Studio 2013 vertraut zu machen. Aktuell habe ich ein echtes Problem mit der Einbindung von SFML. Habe versucht genau nach dem Tutorial auf der SFML-Seite vorzugehen, jedoch bekomme ich nach dem Einbinden des Codes beim Kompilieren immer folgende Fehlermeldung:

1>------ Erstellen gestartet: Projekt: SFML3, Konfiguration: Debug Win32 ------
1> main.cpp
1>c

(Link)
users\test\desktop\sfml-2.2\include\sfml\graphics\vertexarray.hpp(46): error C2504: 'sf:

(Link)
rawable': Basisklasse undefiniert
1>c

(Link)
users\test\desktop\sfml-2.2\include\sfml\graphics\shape.hpp(44): error C2504: 'sf:

(Link)
rawable': Basisklasse undefiniert
1>c

(Link)
users\test\desktop\sfml-2.2\include\sfml\graphics\sprite.hpp(47): error C2504: 'sf:

(Link)
rawable': Basisklasse undefiniert
1>c

(Link)
users\test\desktop\sfml-2.2\include\sfml\graphics\text.hpp(48): error C2504: 'sf:

(Link)
rawable': Basisklasse undefiniert
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========


Hier noch mal der 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
#include <SFML/Graphics.hpp> 

int main() 
{ 
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!"); 
sf::CircleShape shape(100.f); 
shape.setFillColor(sf::Color::Green); 

while (window.isOpen()) 
{ 
sf::Event event; 
while (window.pollEvent(event)) 
{ 
if (event.type == sf::Event::Closed) 
window.close(); 
} 

window.clear(); 
window.draw(shape); 
window.display(); 
} 

return 0; 
}

Ich hoffe ihr könnt mir möglichst einfach erklären, warum die Basisklasse hier undefiniert ist. Habe alle libs soweit es das Tutorial vorschreibt verlinkt und eingebunden. Auch die .dlls habe ich in den Debug-Ordner kopiert. Ich suche schon seit Tagen im Internet nach einer Lösung

(Link)


Edit by TM
Missing Code-Tags

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »ab4582« (31.01.2015, 15:54)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

31.01.2015, 07:51

Sieht eher so aus als ob da ein Header fehlt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

3

31.01.2015, 12:44

Ich würde ohne größeres Studium der Fakten behaupten, dass das ein Bug in der SFML3 ist. Die haben in ihren Headern einfach vergessen, den Header der Basisklasse einzubinden. Das müsstest Du aber auch ausgleichen können, indem Du vor der Graphics.h die Drawable.h inkludierst. Der Name ist nur geraten, also guck ein bisschen rum, ob Du was ähnlich benanntes findest.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

31.01.2015, 12:45

Es gibt keine SFML3. SFML hat aktuell Version 2.2.
Und in SFML 2.2 gibt es kein solches Problem, 100%ig sicher. Zumindest nicht ohne irgendwas verändert, vergessen oder sehr ulkig eingebunden zu haben. Zyklische Abhängigkeiten zwischen eigenen Headern kommt mir da z.B. in den Sinn.

Siehe:
https://github.com/LaurentGomila/SFML/bl…phics/Shape.hpp
sf::Shape inkludiert Drawable korrekt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Lares

1x Contest-Sieger

  • Private Nachricht senden

5

31.01.2015, 12:59

Ich würde ohne größeres Studium der Fakten behaupten, dass das ein Bug in der SFML3 ist. Die haben in ihren Headern einfach vergessen, den Header der Basisklasse einzubinden. Das müsstest Du aber auch ausgleichen können, indem Du vor der Graphics.h die Drawable.h inkludierst. Der Name ist nur geraten, also guck ein bisschen rum, ob Du was ähnlich benanntes findest.

Benutze selber zur Zeit SFML 2.2 (die 32bit Version) für VS13. Da ist kein solcher Fehler vorhanden und sie lässt sich einwandfrei verwenden.

Es könnte aber sein, dass der Download fehlerhaft ist und deswegen Dateien fehlen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

31.01.2015, 13:08

Nee. Das wäre schon lange aufgefallen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Lares

1x Contest-Sieger

  • Private Nachricht senden

7

31.01.2015, 13:38

Nee. Das wäre schon lange aufgefallen.

Ich meinte, dass der Downloadvorgang von ab4582 fehlerhaft war, nicht, dass vom SFML-Webspace aus was fehlerhaft war. Kann ja sein, dass er während des Downloads nen Verbindungsabbruch hatte, ohne es zu merken oder so.

@ab4582
Wenn alles vorhanden ist, wäre es hilfreich, wenn du Screenshots von den Projekteinstellungen posten könntest.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

31.01.2015, 14:05

Sollte dann beim Entpacken nicht ein Problem aufgetaucht sein?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Lares

1x Contest-Sieger

  • Private Nachricht senden

9

31.01.2015, 14:26

Wahrscheinlich, aber momentan können wir eh nicht viel mehr tun als raten. Kann natürlich auch einen komplett anderen Grund haben, dass Dateien fehlen (wenn sie denn wirklich fehlen, was ja erst noch bestätigt werden muss).

10

31.01.2015, 14:35

Der Download wurde ohne Abbrüche durchgeführt. Habe es sicherheitshalber wiederholt. Jedoch habe ich nach wie vor den selben Fehler. Um die Projekteinstellungen besser zu verdeutlichen, habe ich Screenshots angehängt. Auffällig ist, dass der Compiler nur mit "draw" ein Problem haben zu scheint. Ich habe es gelb markiert.

Am Dateipfad kann es auch nicht liegen, der stimmt soweit. Anders als oben in der Fehlerbeschreibung angegeben, lautet der Benutzername hier nicht "test" sondern "Achim".
»ab4582« hat folgende Bilder angehängt:
  • 1.PNG
  • 2.PNG
  • 3.PNG
  • 4.PNG

Werbeanzeige