bekomme SDL nicht richtig zum laufen

Simple Directmedia Layer: Portable Spieleprogrammierung
nervensaege
Beiträge: 31
Registriert: Sa Sep 12, 2009 9:31 pm

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nervensaege » Fr Jun 25, 2010 6:09 pm

habs in die konsole eingegebn "der befehl ist entweder falsch geschrieben oder kann nicht gefunden werden"

Im übrigen nochmals vielen dank für die aufmerksamkeit für das problem :) Das dafür jetzt sogar am tutorial rumgeschrieben wird spricht echt für diese Comunity ;)

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

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nufan » Fr Jun 25, 2010 6:15 pm

nervensaege hat geschrieben:habs in die konsole eingegebn "der befehl ist entweder falsch geschrieben oder kann nicht gefunden werden"
Wie gesagt musst du die Umgebungsvariable für g++ setzen.
http://www.proggen.org/doku.php?id=c:co ... svariablen
Als Pfad wählst du dann \Mingw\bin\ im CodeBlocks-Verzeichnis aus.

nervensaege
Beiträge: 31
Registriert: Sa Sep 12, 2009 9:31 pm

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nervensaege » Fr Jun 25, 2010 7:25 pm

gemacht; leider immernoch keine änderung, der compiler gibt:
||=== sdl1, Debug ===|
||Warning: .drectve `/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized|
C:\SDL\SDL-1.2.14\lib\SDLmain.lib(.\Release_NOSTDIO\SDL_win32_main.obj):C:\Temp\src\SDL-1.:(.text[_main]+0x55)||undefined reference to `__alloca_probe'|
16]+0x3b)||undefined reference to `__alloca_probe'|
16]+0x76)||undefined reference to `__alloca_probe'|
||=== Build finished: 3 errors, 1 warnings ===|


und PATH sieht so aus:
%GTK_BASEPATH%\bin;%SystemRoot%\system32;C:\SDL\SDL-1.2.14\include;C:\SDL\SDL-1.2.14\lib;C:\Program_Files\CodeBlocks\MinGW\bin\;

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

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nufan » Fr Jun 25, 2010 7:29 pm

Hmm... du linkst die Visual Bibliotheken. Lösch mal

Code: Alles auswählen

C:\SDL\SDL-1.2.14\include;C:\SDL\SDL-1.2.14\lib
aus der Umgebungsvariable.

nervensaege
Beiträge: 31
Registriert: Sa Sep 12, 2009 9:31 pm

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nervensaege » Sa Jun 26, 2010 10:01 am

ändert leider nichts

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

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nufan » Sa Jun 26, 2010 12:10 pm

So, ich bin jetzt das ganze von Anfang an durchgegangen. Ich habe CodeBlocks, Mingw und SDL komplett entfernt und neu eingerichtet (Warum sagt mir keiner, dass während ich in Irland war eine neue CodeBlocks-Version rauskam? ^^). IMeine Pfadangaben sollen die als Orientierungshilfe dienen, die musst du natürlich anpassen:
* CodeBlocks inklusive Mingw installieren (C:\Program Files\CodeBlocks)
* Mingw-Pfad in die Path-Variable eintragen (C:\Program Files\CodeBlocks\MinGW\bin)
* Wenn du in der Konsole nun g++ eingibst solltest du als Antwort "g++: no input files" bekommen.
* SDL für Mingw runterladen und entpacken (http://www.libsdl.org/release/SDL-devel ... w32.tar.gz entpacken nach C:\Users\nufan\Documents\SDL\SDL-1.2.14)
* Den Inhalt von C:\Users\nufan\Documents\SDL\SDL-1.2.14\include nach C:\Program Files\CodeBlocks\MinGW\include kopieren (also so, dass du in \MinGW\include\ einen SDL-Unterordner hast)
* Den Inhalt von C:\Users\nufan\Documents\SDL\SDL-1.2.14\lib nach C:\Program Files\CodeBlocks\MinGW\lib kopieren
* In CodeBlocks ein leeres Projekt anlegen.
* main.cpp anlegen:

Code: Alles auswählen

#include <SDL/SDL.h>

int main (int argc, char *argv[])   // Wichtig: main MUSS diese Signatur haben!
{
    SDL_Init (SDL_INIT_EVERYTHING);
    SDL_Surface *screen = SDL_SetVideoMode (800, 600, 32, SDL_DOUBLEBUF);
    SDL_Delay (3000);
    return 0;
}
* Jetzt Rechtsklick aufs Projekt - "Build options..."
* Am besten wählst du jetzt links oben das ganze Projekt aus (also nicht nur Debug oder Release)
* In den Linker-Settings unter "Other linker options" folgendes eintragen:

Code: Alles auswählen

-lmingw32 -lSDLmain -lSDL
* Wenn du willst, dass außerhalb von CodeBlocks kein cmd.exe-Fenster geöffnet wird, musst du noch -mwindows dranhängen
* So, jetzt mit Strg+F9 kompilieren, eventuell bekommst du eine Warnung, dass screen nirgends verwendet wird. Das kannst du einfach ignorieren.
* Wenn du das Programm jetzt mit F9 ausführst und 3 Sekunden lang ein 800*600 Pixel großes, schwarzes Fenster siehst hast du alles richtig gemacht :)
Ich wrede das dann mal in etwas schönerer Form ins Wiki übertragen.

nervensaege
Beiträge: 31
Registriert: Sa Sep 12, 2009 9:31 pm

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nervensaege » Sa Jun 26, 2010 1:12 pm

Gut ich hab das ganze jetzt einmal nachgemacht.
(bis zur Konsoleneingabe hat auf jeden fall alles funktioniert, ich hab die richtige rückmeldung bekommen)
So, wenn ich deinen code eingebe compiliert er das ganze auch ohne beschwerden.
will ichs aber ausführen bekomme ich ( von windows) die meldung:
"Die Anwendung konnte nicht gestartet werden weil SDL.dll nicht gefunden wurde..."
es erscheint außerdem ein leeres konsolenfenster.
Und dann ist halt vorbei

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: bekomme SDL nicht richtig zum laufen

Beitrag von Kerli » Sa Jun 26, 2010 1:23 pm

nervensaege hat geschrieben:"Die Anwendung konnte nicht gestartet werden weil SDL.dll nicht gefunden wurde..."
Dann musst du schauen das er die SDL.dll finden kann. Also entweder den Pfad zu ihr zu PATH hinzufügen oder die SDL.dll in den gleichen Ordner wie die Executable kopieren.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

nervensaege
Beiträge: 31
Registriert: Sa Sep 12, 2009 9:31 pm

Re: bekomme SDL nicht richtig zum laufen

Beitrag von nervensaege » Sa Jun 26, 2010 1:39 pm

hmm jetzt gibt der compiler auf jeden fall auch die warnung mit screen aus

die windows warnung ist aber die gleiche geblieben obwohl ich den pfad zum lib-ordner zu PATH hinzugefügt habe.
Ich habe sogar nochmal den ganzen lib ordner in die Projektdatei reinkopiert.

Mir ist allerdings aufgefallen das die SDL-bibliotheken bei mir alle irgendwas.dll.a heißen.
liegts daran?

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: bekomme SDL nicht richtig zum laufen

Beitrag von Kerli » Sa Jun 26, 2010 1:41 pm

nervensaege hat geschrieben:die windows warnung ist aber die gleiche geblieben obwohl ich den pfad zum lib-ordner zu PATH hinzugefügt habe.
SDL.dll ist im bin-Ordner...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Antworten