PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kostenloser SDL-Kompatibler Windows-C++-Compiler



TheNewNewUser
15-08-2004, 21:39
Hi!

Ich schreibe gerade Programme mit der SDL und ein paar libs (SDL_image, BFont, SDL_mixer) Klappt unter Linux auch super, aber nun möchte ich meine Programme auch einmal unter Windows compilieren ( Möchten nicht aber aufgrund der anderen denen ich meine progs zeigen will müssen ;) ) Auf jeden Fall weiß ich jetzt nicht wie

Ich hab zwar den "C++ Builder 6 Pro." von Borland aber mit dem funzts net ganz. SDL ansich geht aber ich bekomme SDL_mixer,etc. nicht zum laufen und ich habe keinen Bock mir auch noch Visual C++ von Misocroft zu kaufen.

Deshalb ne frage:

Kennt jemand einen kostenlosen C++ Compiler für Windows, der SDL (und SDL-libs also SDL_mixer usw.) kompatibel ist? :confused:

Berufspenner
15-08-2004, 21:44
Hi

GCC für Windows wäre dann MinGW. Eine gute IDE, die auf diesem Kompiler basiert, ist Dev-C++: http://sourceforge.net/projects/dev-cpp/

Cu
André

TheNewNewUser
16-08-2004, 07:09
Hi!

Ich hab mir jetzt die Dev-C++ runtergeladen, weiß aber immer noch nicht genau, wie ich die SDL und ihre libs jetzt verwenden kann. Unter Borland C+
+ ging das bei der SDL (leider nicht bei den libs :( ) so:

Include-files kopieren (hab ich bei Dev-C++ auch gemacht)

Binary der lib für Windows runterladen (als DLL)

und dann die SDL.lib in das Projekt einbinden, damit ihm bekannt ist, wo er nach den Funktionen der SDL zu suchen hat.

Wie geht das jetzt bei Dev-C++

Ich kann ja leider nicht wie bei linux
"sdl-config --libs" ausführen und das dann als Compilerparameter angeben.

Wie muss ich das machen? :confused:

TheNewNewUser
17-08-2004, 09:03
Habs jetzt rausgefunden:

Einfach auf Projekt -> Projekt Optionen -> Parameter -> Bibliothek hinzufügen

Aber ein Problem hab ich noch:

Folgender Code wird mit einer Fehlermeldung nicht compiliert.



double x=0.63*0.62;
long y;

y=x;


In g++ unter Linux funktioniert das. Nur unter dev-c++ muss ich das so schreiben:



double x=0.63*0.62;
long y;

y=(long)x;


Wie kann ich dafür sorgen, dass er diesen Fehler (der mit "[Warning]" anfängt) nicht beachtet oder besser gesagt, automatisch umwandelt. Selbst Borland C++ kann das. :confused:

Ich hab nämlich sehr viele Stellen dieser Art in meinem Programm und es wäre sehr sehr aufwendig die alle so zu verändern.

Mfg
TheNewNewUser

Psycho0815
18-08-2004, 05:35
wahrscheinlich steht in den projekt einstellungen als compiler option irgendwo -Wall. die is dafür verantwortlich das er auch bei warnings abbricht.
es gibt übrigens noch das MinGW Developer Studio.
gefällt mir sehr gut.

TheNewNewUser
19-08-2004, 04:31
Ich kann leider nirgendwo eine Compileroption "-Wall" finden. Selbst nicht wenn ich die Projektdatei (project.dev) mit einem Editor öffne.

Werde jetzt mal das MinGW Developer Studio ausprobieren.

Frage:

Kann man da auch Visual C++ Libs importiren wie bei Dev-c++?

TheNewNewUser
19-08-2004, 08:16
hab mir jetzt die neuste Version heruntergeladen und es klappt. :rolleyes:

Mit meiner ISDN Verbindung hab ich nämlich erst ne ältere is kleiner runtergeladen. Hab gedacht die tuts auch. Naja

Es klappt...

Mfg
TheNewNewUser

Berufspenner
19-08-2004, 13:47
Hi

Um in Dev-C++ Bibliotheken einzubinden solltest du einfach die "Auf Updates/Packete prüfen..." Funktion nutzen, die du in der Menüleiste unter "Werkzeuge" findest.

Cu
André

anda_skoa
19-08-2004, 16:20
wahrscheinlich steht in den projekt einstellungen als compiler option irgendwo -Wall. die is dafür verantwortlich das er auch bei warnings abbricht.

-Wall erhöht nur die Anzahl der Fälle, wo es warnings gibt.
Während der Entwicklung ein unverzichtbarer Schalter, der Compiler gibt die Warning schließlich nicht ohne Grund aus.

Im oben genannten Fall soll der Entwickler darauf hingewiesen werden, dass er eine verlustbehaftet Konversion macht.
Er kann sich dann die Stelle ansehen und gezielt mit einem Cast die Warning unterbinden, wenn er zB weiß, dass in der Fließkomma Variablen tatsächlich eine natürliche Zahl steht (zb weil es das Ergebnis einer Rundungsoperation ist)

Ciao,
_