SDL-Compiler Fehler "undefined reference..."

Simple Directmedia Layer: Portable Spieleprogrammierung
Antworten
FritziFoppel
Beiträge: 101
Registriert: Sa Mär 02, 2013 6:53 pm
Wohnort: Göppingen

SDL-Compiler Fehler "undefined reference..."

Beitrag von FritziFoppel » So Mär 10, 2013 7:33 pm

Wollte mal das SDL-Tutorial durchmachen, bin dabei aber auf Probleme gestoßen.

Der Link für "libsdl1.2-dev installieren" funktioniert nicht bzw. kann nicht von meinem browser geöffnet werden

Was ich gemacht hab:
-zuerst die "SDL-1.2.15-win32-x64.zip"-Datei heruntergeladen und in einem Ordner auf dem Desktop gespeichert
-danach hab ich die include und lib Pfade, zunächst in der Benutzervariable, danach in der Systemvariable eingegeben
-den Inhalt von include/SDL in das Codeblocks include Verzichnis kopiert, wie auch den Inhalt von lib ins Codeblocks lib Verzeichnis

-> Beim kompilieren des Beispielprogramms meldet der Compiler "undefined reference to "WinMain@16"

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: SDL-Compiler Fehler "undefined reference..."

Beitrag von Xin » So Mär 10, 2013 8:18 pm

FritziFoppel hat geschrieben:Wollte mal das SDL-Tutorial durchmachen, bin dabei aber auf Probleme gestoßen.

Der Link für "libsdl1.2-dev installieren" funktioniert nicht bzw. kann nicht von meinem browser geöffnet werden
Das Tutorial ist auch noch nicht fertig, der Link funktioniert allerdings für Ubuntu. Das sollte man vielleicht etwas anders umschreiben dort.
FritziFoppel hat geschrieben: Was ich gemacht hab:
-zuerst die "SDL-1.2.15-win32-x64.zip"-Datei heruntergeladen und in einem Ordner auf dem Desktop gespeichert
-danach hab ich die include und lib Pfade, zunächst in der Benutzervariable, danach in der Systemvariable eingegeben
-den Inhalt von include/SDL in das Codeblocks include Verzichnis kopiert, wie auch den Inhalt von lib ins Codeblocks lib Verzeichnis

-> Beim kompilieren des Beispielprogramms meldet der Compiler "undefined reference to "WinMain@16"
Das ist hier noch kein SDL-Problem, sondern hier stellt sich die Frage, welchen Compiler Du nutzt (MinGW nehme ich mal an) und welche IDE. Dort entscheidet, wie Du das Projekt erstellt hast.

Nenne Deine main Funktion einfach mal nach WinMain um.

main ist die Funktion, mit der ein Programm gestartet wird - wenn Du ein Windows-Programm hast (hierfür wird der Compiler etwas anders aufgerufen), dann wird die Funktion WinMain() gerufen, die bei Dir vermisst wird.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: SDL-Compiler Fehler "undefined reference..."

Beitrag von nufan » So Mär 10, 2013 9:20 pm

FritziFoppel hat geschrieben:-> Beim kompilieren des Beispielprogramms meldet der Compiler "undefined reference to "WinMain@16"
Wie kompilierst du?
Im SDL-FAQ gibts einen Eintrag dazu:
http://wiki.libsdl.org/moin.fcg/FAQWind ... 4016.27.22
Übrigens hab ich das im anderen Thread erwähnt. Hilft das wirklich nicht?

FritziFoppel
Beiträge: 101
Registriert: Sa Mär 02, 2013 6:53 pm
Wohnort: Göppingen

Re: SDL-Compiler Fehler "undefined reference..."

Beitrag von FritziFoppel » Mo Mär 11, 2013 7:31 pm

zu Xin:

Wie du schon gesagt hast benutz ich den MinGW-Compiler.
main ist die Funktion, mit der ein Programm gestartet wird - wenn Du ein Windows-Programm hast (hierfür wird der Compiler etwas anders aufgerufen), dann wird die Funktion WinMain() gerufen, die bei Dir vermisst wird.
-> "Warning: resolving _WinMain@16 by linking to _WinMain"


zu nufan:

Das Linken hab ich schon gemacht. Hab aber nach erneutem Suchen diese Seite gefunden:
http://wiki.codeblocks.org/index.php?ti ... de::Blocks
und bin nach "The Good" vorgegangen.

Die 1.2.9-Version geladen, den Inhalt von lib und include wieder in MinGW kopiert, die Systemvariable neu eingegeben und bei den Linkersettings die libs hinzugefügt.

FritziFoppel
Beiträge: 101
Registriert: Sa Mär 02, 2013 6:53 pm
Wohnort: Göppingen

Re: SDL-Compiler Fehler "undefined reference..."

Beitrag von FritziFoppel » Di Mär 12, 2013 5:24 pm

Das Problem hat sich dadurch leider aber immer noch nicht gelöst. Compiler meldet immer noch den gleichen Fehler.

FritziFoppel
Beiträge: 101
Registriert: Sa Mär 02, 2013 6:53 pm
Wohnort: Göppingen

Re: SDL-Compiler Fehler "undefined reference..."

Beitrag von FritziFoppel » Mi Mär 13, 2013 8:05 pm

Habs geschafft. Ich glaub ich war einfach zu blöd um "-lmingw32 -lSDLmain -lSDL -mwindows " bei den "Linker Setting" in "other linker options" einzufügen.
Nachdem ich das gemacht hatte meldete der Compiler aber, dass er "iostream" nicht finden konnte. Also hab ich die Endung .c in .cpp umgenannt. Danach gefiel dem Compiler atexit nicht, deshalb hab ich noch "stdlib" eingefügt und jetzt funktionierts.

(für die, die das gleiche Problem haben) ;)

Antworten