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

SwatzZ

Treue Seele

  • »SwatzZ« ist der Autor dieses Themas

Beiträge: 119

Beruf: Gymnasist (10. Klasse)

  • Private Nachricht senden

1

05.05.2013, 12:12

Komponente wird nicht gefunden

Ich hab gestern mit SFML angefangen, 2D-Programme zu erstellen, ich hab die externen Abhängigkeiten in Visual C++ Express eingegeben, die Include-Verzeichnisse sowie die Libraries angegeben. Beim Kompilieren im Debug-Modus öffnet sich jedoch nur die Konsole (es ist eine Konsolen-Anwendung) mit einer Fehlermeldung, die besagt, dass eine Komponente namens sfml-system-d-2.dll nicht gefunden wird. In dem Tutorial, in dem ich mir das angeschaut hab, war nie von so einer Datei die Rede. Auch hab ich alles so wie im Tutorial gemacht. Ich hab auch versucht, die .dll in die externen Abhängigkeiten zu packen, sie konnte nicht gelesen werden. Auch sonst hab ich viel rumprobiert, es will aber nicht gehen...

Hier außerdem der Code, der müsste aber stimmen, es werden auch keine Fehler dazu im Log gezeigt.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include "windows.h"
#include <SFML\Graphics.hpp>

using namespace std;

int main()
{
    sf::RenderWindow Spiel(sf::VideoMode(800,600,32), "Spiel", sf::Style::Titlebar);
    Sleep(3000);
    return 0;
}

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

05.05.2013, 12:16

Die DLL ist eine dynamische Komponente, die beim Programmstart geladen und benötigt wird. Sie sollte daher im selben Ordner wie die ausgeführte Exe-Datei liegen. Ohne die geht's nicht.
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]

SwatzZ

Treue Seele

  • »SwatzZ« ist der Autor dieses Themas

Beiträge: 119

Beruf: Gymnasist (10. Klasse)

  • Private Nachricht senden

3

05.05.2013, 12:35

Ich hab es gemacht, trotzdem nichts...

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

06.05.2013, 11:35

Du hast die DLL gelinkt und die DLL im selben Verzeichnis und er sagt, sie fehlt trotzdem? Guck noch mal genau welche DLL du kopiert hast. Achte genau auf den Namen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

5

06.05.2013, 11:47

Alternativ kann die dll auch in einem Verzeichnis liegen, dass in der PATH Umgebungsvariable eingetragen ist, was sehr praktisch ist, wenn man nicht für jedes Programm zig dlls kopieren möchte. Außerdem kannst du DependencyWalker benutzten, um zu sehen, welche dll's dein Programm benötigt und von wo diese geladen werden.
http://www.dependencywalker.com/
Lieber dumm fragen, als dumm bleiben!

SwatzZ

Treue Seele

  • »SwatzZ« ist der Autor dieses Themas

Beiträge: 119

Beruf: Gymnasist (10. Klasse)

  • Private Nachricht senden

6

06.05.2013, 15:26

Ups, tut mir leid, ich hab vergessen, die Antwort abzuschicken, dass das Problem gelöst ist. Die DLL war nur im Projektordner und nicht im Debugordner, darf ich aber kurz ncoh eine Frage stellen? Wo bekomme ich Sprites für mein Programm her? Gibt es da irgendwelche Sammlungen im Inet? :huh:

Werbeanzeige