Linien und Rechteck zeichnen mit SDL

Gast #1584017
Guten Abend,

ich versuche seit ein paar Stunden mit der "SDL_gfx" Library eine Linie 
zu zeichnen. Leider funktioneirt dies nicht.
Als include Datei habe ich die #include "SDL_gfxPrimitives.h" angegeben.
Mit der Funktion "vlineColor" kann man eine Linie zeichnen.
Bei übersetzen erscheint immer diese verdammt Fehlermeldung:

Fehler  1  error LNK2001: Nicht aufgelöstes externes Symbol 
"__imp__vlineColor".  Test.obj  Test

Fehler  2  fatal error LNK1120: 1 nicht aufgelöste externe Verweise. 
C:\Test\Test.exe  1  Test

Als Programmiertool verwende ich Microsoft Visula Studio C++ 2008.
Die DLL "SDL_gfx.dll" habe ich bereits in windows\system und 
windows\system32 reinkopiert.

Kann mir dazu jemand weiterhelfen?
Gast #1584068
Die Headerdatei sowie die DLL-Datei sind ja in den entsprechenden 
Verzeichnissen vorhanden. Egal welche Funktion ich davon benutzt, 
erscheint immer dieser Linker Fehler. Woran kann das liegen? Was muss 
ich da tun damit ich diese Funktionen nutzen kann?
Gast #1584087
Das DLL/HEader Files sind nicht genug, Du brauchst noch eine LIB-Datei. 
Diese Datei in Projekt zugeben und Path in der Konfiguration auch noch 
unter "additinal libraries" eintragen. Dann sollte es gehen ...
Gast #1584089
Ja ich habs jetzt auch entdeckt.
Mir fehlr die Zeile:
>>#pragma comment(lib, "SDL_gfx.lib")

Diese Datei gibt es bei mir aber nicht. Woher kann ich diese LIB-Datei 
beziehen?
Gast #1584114
... und für "fremde" DLLs ohne LIB-File:

Open VS command line from Start->Programs->Microsoft Visual 
Studio->Tools
dumpbin /exports mydll.dll
Copy function names after next line:

ordinal hint RVA      name
        1    0 000110FF my_fnc = @ILT+250(_my_fnc)

Create new text file „mydll.def“ from previous output like:
  EXPORTS      my_add

lib /def:mydll.def /OUT:mydll.lib
Insert „mydll.lib“ into your main project
Gast #1584131
1. Sucht unter
Start->Programs->Microsoft Visual Studio->Tools->VS Command Line

2. Schreibt dort (SDL_gfx.dll liegt in c:\SDL_gfx.dll)
dumpdll /exports c:\SDL_gfx.dll
Gast #1584178
Ich finde das ganze echt mega mega mega kompliziert. Ich hab gedacht die 
SDL bietet von Haus aus schon alles bin nicht mehr so begeistert davon.

Oder gibt es noch einen anderen weg, um nur eine Linie bzw. ein Rechteck 
(nicht ausgefüllt) zu zeichnen?
Persönliche Seite #1585043
Eine solche Klasse oder "interne Graphiklibrary" existiert nur für 
Nutzer des .Net-Geraffels, nicht aber für C- oder C++-Anwender. Nein, 
"Managed C++" ist nicht C++.

Die Alternative wäre die Verwendung der nicht mit den Express-Editionen 
ausgelieferte MFC, aber die ist nicht ganz zu unrecht übel beleumundet.

Das Problem scheint hier an viel fundamentalerer Stelle zu sitzen; hier 
fehlen grundlegende Kenntnisse, wie mit einem Compiler und insbesondere 
mit Libraries und Headerdateien umzugehen ist.
#1585105
Tom schrieb:
> 1. Sucht unter
> Start->Programs->Microsoft Visual Studio->Tools->VS Command Line

Ich schwöre:
Ich benutze VC jetzt schon seit beinah 20 Jahren.
ABer ich habe den Command Prompt im Startmenü bei den VC Tools noch nie 
gesehen :-)
Gerade nachgeshen: tatsächlich, den gibts ja wirklich!

>
> 2. Schreibt dort (SDL_gfx.dll liegt in c:\SDL_gfx.dll)
> dumpdll /exports c:\SDL_gfx.dll


@SDL_Anfänger
Ich gebe zu die Beschreibung ist etwas minimalistisch. Allerdings so 
schwer dann auch wieder nicht zu verstehen.

Start   Das ist der Button links unten im Eck, den du zb dann brauchst
        wenn du ein Programm starten willst oder auch den Rechner
        nieder fahren willst
        (Zitat aus den Anfanfszeiten von Windows - where do you want to
         go today: Start. das ist doch der Button den ich drücken
         muss, wenn ich Windows stoppen will)

Programs->Microsoft Visual Studio->Tools->VS Command Line
die restliche Beschreibung ist der 'Pfad', den du Ausgehend von Start 
Button in den einzelnen aufpappenden Menüs durchgehen musst. Kleb dabei 
nicht allzusehr an den Worten.
"Programs" ist von einem englischen Windows. Dann kann bei dir auf einem 
deutschen Windows "Programme" heißen. "Microsoft Visual Studio" kann bei 
dir auch leicht anders heißen, je nachdem welche Version du hast. Ob das 
Untermenü dann "Tools" heißt oder "Visual Studio Tools" sollte dich auch 
nicht tangieren. Wichtig ist, dass du die entsprechende Funktionalität 
bei dir wiederfindest, auch wenn sie leicht anders heißt.
Und ob das jetzt Command Line oder Command Prompt heißt: Sind nur 2 
unterschiedliche Bezeichnungen für das selbe: Ein Konsolenfenster, in 
dem die Umgebungsvariablen so gesetzt sind, dass man die Visual Studio 
Werkzeuge benutzten kann.

So, jetzt hast du deine Konsole. (schwarzes Fenster mit einem blinkenden 
weißen Eingabecursor.

Jetz musst du wissen, in welchem Pfad du die DLL geparkt hast.
Und in die Konsole gibst du ein

dumpdll /exports c:\Pfad\SDL_gfx.dll

Anstelle von Pfad beutzt du natürlich den Pfad, auf dem du die DLL hast.
Dann sollte sich im Konsolenfenster etwas tun und dumpdll erzeugt dir 
das LIB File.

Wenn du Software Entwickeln willst, dann wirst du nicht umhin kommen, 
auch mal mit ein wenig Phantasie an das Gelesene ranzugehen und 
Beschreinbungen an die auf deinem Rechner vorhandene Situation 
anzupassen.
Schritt-für-Schritt Anweisungen, die man nur stupide runterarbeiten muss 
um ohne Nachdenken oder Ansehen der tatsächlichen Situation zum Ergebnis 
zu kommen, findest du in der IT nicht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.