SDL oder c++ problem???
-
hallo zusammen.
hier mal eine frage von einem newbie.
wäre nett, wenn du mir da vielleicht einer einen tip geben könnte, was ich da falsch mache.
und zwar geht es um sdl programmierung mit c++.
ich habe folgendes geschrieben (ist nicht der hammer, aber dennoch funzt es nicht):
---------------------------------------------------------------------------------------------
#include "SDL.h"int main(int argc, char** argv)
{
SDL_Surface* screen;if (SDL_Init(SDL_INIT_VIDEO) == -1) {
printf("Error: %s\n", SDL_GetError());
exit(1); //das konnte nicht compeliert werden. fehlermeldung steht unten
}atexit(SDL_Quit); //das konnte nicht compeliert werden. fehlermeldung steht unten
screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE);
if (!screen) {
printf("Error: %s\n", SDL_GetError());
exit(1);
}SDL_WM_SetCaption("nonsensfaker", "nonsensfaker");
SDL_Delay(2000);
return 0;
}
---------------------------------------------------------------------------------------------ich benutze borland c++ 5.01
und folgende fehlermeldung dazu:
call to undefined function ´exit´
call to undefined function ´atexit´desweiteren gab es noch 2 andere fehlermeldungen:
parameter ´argc´ is never used
parameter ´argv´ is never useddas sdl-paket habe ich ordnungsgemäß installiert. aber daran kann es eigentlich nicht liegen. (denke ich mal)
exit(1); ist doch eigentlich eine gängige syntaxoder hab ich einen denkfehler? oder tipfehler?
bin schon am verzweifeln.danke schonmal im vorraus.
mfg mirko aka gAdW
-
Versuch es mal so:
-------------------------------------------------------------------------------------------- #include "SDL.h" #include <cstdio> using namespace std; #ifdef main #undef main #endif int main() { SDL_Surface* screen; if (SDL_Init(SDL_INIT_VIDEO) == -1) { printf("Error: %s\n", SDL_GetError()); exit(1); //das konnte nicht compeliert werden. fehlermeldung steht unten } atexit(SDL_Quit); //das konnte nicht compeliert werden. fehlermeldung steht unten screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE); if (!screen) { printf("Error: %s\n", SDL_GetError()); exit(1); } SDL_WM_SetCaption("nonsensfaker", "nonsensfaker"); SDL_Delay(2000); return 0; }
[EDIT]Das ist eher C als C++[/EDIT]
-
danke für die schnelle antwort.
aber jetzt treten neue fehler auf:
1.) namespace name expected
2.) call to undefined function ´exit´
3.) call to undefined function ´atexit´woran kann das denn schonwieder liegen?
würde mich über eine vorschlag freuen.
mfg mirko
-
Entferne den namespace std, ich dachte das auch die standard c header die in C++ übernommen wurden den benötigen.
Ich dachte immer exit wäre in stdio, ist aber in stdlib#include "SDL.h" #include <cstlib> #ifdef main #undef main #endif int main() { SDL_Surface* screen; if (SDL_Init(SDL_INIT_VIDEO) == -1) { printf("Error: %s\n", SDL_GetError()); exit(1); //das konnte nicht compeliert werden. fehlermeldung steht unten } atexit(SDL_Quit); //das konnte nicht compeliert werden. fehlermeldung steht unten screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE); if (!screen) { printf("Error: %s\n", SDL_GetError()); exit(1); } SDL_WM_SetCaption("nonsensfaker", "nonsensfaker"); SDL_Delay(2000); return 0; }
-
ich werd noch bekloppt!!
jetzt compeliert er den code, aber beim debuggen treten noch fehler auf.
Fehler: Error: Unresolved external '_SDL_Init' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_GetError' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Quit' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_SetVideoMode' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_WM_SetCaption' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Delay' referenced from module fenster.cppwas mach ich denn schon wieder falsch?
dank dir für deine hilfe
mfg mirko
-
nonsensfaker schrieb:
ich werd noch bekloppt!!
jetzt compeliert er den code, aber beim debuggen treten noch fehler auf.
Fehler: Error: Unresolved external '_SDL_Init' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_GetError' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Quit' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_SetVideoMode' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_WM_SetCaption' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Delay' referenced from module fenster.cppnicht beim debuggen sondern beim linken.
du musst die SDL.lib in dein Projekt mit einbinden
-
nonsensfaker schrieb:
ich werd noch bekloppt!!
jetzt compeliert er den code, aber beim debuggen treten noch fehler auf.
Fehler: Error: Unresolved external '_SDL_Init' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_GetError' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Quit' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_SetVideoMode' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_WM_SetCaption' referenced from module fenster.cpp
Fehler: Error: Unresolved external '_SDL_Delay' referenced from module fenster.cppnicht beim debuggen sondern beim linken.
du musst die SDL.lib in dein Projekt mit einbinden
-
ups
-
ist echt ein spitzenforum hier.
vorallem keine dummen sprüche.aber. wie oben schon beschrieben, bin ich ein absoluter anfänger.
hab keine ahnung wie ich die sdl.lib linke!!!???kann mir da einer einen kleinen tipp geben?
mfg mirko
-
Im Mainmenu "Projekt" den Punkt "dem Projekt hinzufügen..." da drückste drauf und dann wählste im Fenster die Lib aus.
-
nonsensfaker schrieb:
ist echt ein spitzenforum hier.
vorallem keine dummen sprüche.Was für einen dummen Spruch möchtest Du denn hören!??
P.S.: Wenn ich nicht da bin, frag' einfach nach TGGC, der macht auch welche!