SDL im Borland C++Builder6 verwenden
-
int main(int argc, char *argv[], char *env[])
Ist das env (für Umgebungsvariablen) nicht Microsoft-spezifisch??
-
was muss ich dann für eine main()-Routine verwenden.
Bei mir kommt keine Fehlermeldung, aber es zeigt trotzdem nichts an.
-
Sgt. Nukem schrieb:
int main(int argc, char *argv[], char *env[])
Ist das env (für Umgebungsvariablen) nicht Microsoft-spezifisch??
Nein gibts z.B. auch auf unices.
-
@El Barto:
1. wenn der compiler nicht über dein main(...) meckert, sollte es auch gehen.
2. wie gesagt, sagen die stdout/stderr was ?
3. hast du meine alternative zu SDL_SetVideoMode(640, 30, 0, 0) probiert?falls nötig zur erklärung:
SDL_SetVideoMode ist ja klar
(640, 30, 0, 0) = fenster ist 640 pixel hoch, 30 pixel breit (häh, wasn das fürn fenster???) und 0 bit farbtiefe (stelle ich mir schwierig vor, denn 1 bit = schwarz-weiss, 8 bit = 256 farben etc... also warum 0 bit? geht doch gar nicht. wäre sozusagen ein NUL output driver)
und die letzte stelle sollte IMO die art der bufferung etc enthalten, z.b. SDL_SWSURFACE (system memory buffer), SDL_HWSURFACE (graka-buffer) und anderes...also, ersetze einfach mal testweise
screen = SDL_SetVideoMode(640, 30, 0, 0);
mit
screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
und erzähl dann wasses macht.
-
also, irgendwie komm ich nicht weiter.
ich hab doch schon directX programmiert, da kann doch sdl kein problem sein.Jetzt kommt die ganze zeit ein linker fehler:
sdl.lib contains invalid OMF record
häää?Frage:
Arbeitet jemand von euch mit der sdl und dem bcb?
könnte er mir mal ein fertiges Projekt per mail senden, dass ich mal ein beispiel habe.meine e-mail-adresse: elbarto.mail@web.de
-
El Barto schrieb:
also, irgendwie komm ich nicht weiter.
ich hab doch schon directX programmiert, da kann doch sdl kein problem sein.Jetzt kommt die ganze zeit ein linker fehler:
sdl.lib contains invalid OMF record
häää?Frage:
Arbeitet jemand von euch mit der sdl und dem bcb?
könnte er mir mal ein fertiges Projekt per mail senden, dass ich mal ein beispiel habe.meine e-mail-adresse: elbarto.mail@web.de
Das sieht mir schwer nach dem gleichen Problem aus, daß auch DirectX hat:
Die Microsoft LIBs / DLLs sind inkompatibel mit dem Borland Format (COFF / OMF)
-
ja, toll.
Für DirectX hab ich extra lib und dll Dateien für den Borland C++Builder gefunden, dass muss es doch für die sdl-Bibliotek auch geben, oder?
-
es bleibt immer noch die Option, dir den Quellcode von www.libsdl.org runterzuladen und ihn mit dem BCB selbst zu kompilieren. Ist auch nicht allzu schwer
-
Oder Du benutzt reimp von Borland...
-
also, ich hab mir jetzt das ganze SDL-SDK runtergeladen und hab dort gesehen,
dass es ja schon compilierte Libs für Borland enthält.Dennoch bekomm ich immer, wenn ich "sdl.h" include einen Fehler:
unresolved external '_main' referenced from...an was kann das liegen?
-
Daß Du keine Konsolen- sondern eine Windows-Anwendung erstellt hast...
-
nein, an dem liegts nicht, ich hab ne konsolen-anwendung mit dem konsolen-experten erstellt.
-
El Barto schrieb:
nein, an dem liegts nicht, ich hab ne konsolen-anwendung mit dem konsolen-experten erstellt.
Äh, und vice versa?!?!
Notfalls:
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int); int main(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ WinMain(hInstance,hPrevInstance,lpCmdLine,nShowCmd); return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ // ... return 0; }
-
El Barto schrieb:
ich hab ne konsolen-anwendung mit dem konsolen-experten erstellt.
Ich streite alles ab. Ich habe damit nichts zu tun!
Bye, TGGC \-/
-
El Barto schrieb:
Dennoch bekomm ich immer, wenn ich "sdl.h" include einen Fehler:
unresolved external '_main' referenced from...Das ist ein allgemeines Problem mit Borland in Verbindung mit SDL...
Schreib mal das an den Anfang von deiner Quelltextdatei und sag mal, ob's geholfen hat#ifdef main #undef main #endif
MfG Aoeke
-
nein, das hat leider nichts gebracht. der fehler kommt immer noch.
Ich glaub ich gebs jetzt dann auf und programmier in VisualC++.
Kann mir denn keiner ein Beispiel-Project vom C++Builder mit der SDL schicken,
das funktioniert?
-
El Barto schrieb:
also, ich hab mir jetzt das ganze SDL-SDK runtergeladen und hab dort gesehen,
dass es ja schon compilierte Libs für Borland enthält.Dennoch bekomm ich immer, wenn ich "sdl.h" include einen Fehler:
unresolved external '_main' referenced from...an was kann das liegen?
wie bereits weiter oben gesagt:
ich kenn genau den Fehler im Zusammenhang mit einer "falschen" main()...
die Main-Deklaration muss
int main (int argc, char** argv) // kein char** env
sein, sonst wirds nicht gehen! (wenn du das beruecksichtigt hast, kann ich dir auch nicht weiterhelfen
).
-
Hier ist der Quelltext von 'nem einfachen Projekt, in dem nur ein SDL-Fenster erstellt wird... Dann dazu halt noch die richtigen Lib's und fertig...
~> http://www.aoeketec.de/uploads/main.cpp
MfG Aoeke
-
cool, dein main.cpp funktioniert.
Muss jetzt mal schauen, was ich anderst gemacht habe.Nochmal danke an alle, die sich hier so bemüht haben.