Kompilieren >> Tutorials

tim_toxxic

Aktives Mitglied
Thread Starter
Dabei seit
30.01.2004
Beiträge
110
Reaktionspunkte
0
hallo

auf sourceforge usw. treffe ich immer wieder auf gute apps, bei denen für os x nur die c++-source erhältlich ist.

gibt es irgendwo ein tutorial, wie ich diese files kompilieren kann? ich meine ein allgemeines tutorial, wenn ich die install-files jeweils lese, steh ich schon an, wenns darum geht die datei "configure" auszuführen!?!

wäre es eigentlich nicht möglich einmal ein binary für die ppc-prozessoren zu machen und dann kanns jeder apfel brauchen..? oder sind da die unterschiede der prozessoren immer noch zu gross? ich versteh ehrlich gesagt von c++ gar nix.

gruss tim_toxxic
 
Meistens musst du zuerst die configure Datei ausführen und danach ein make oder ein make install. Dazu musst du im Terminal in das Verzeichnis wechseln, wo der ganze Kra, liegt und dann
./configure
eingeben. Da musst du dann auf Fehlermeldungen achten. Wenn dir dann noch Sachen fehlen kannst du die relativ easy mit fink installieren.
Danach noch ein
make install
oder manchmal auch
sudo make install
und die Katze ist im Sack.

Ich habe das hier mal mit Bomberclone vorgemacht.
 
hey, danke vielmals, das hat mir schon mal recht weitergeholfen.

ich habe bei ./configure "./" vergessen, deshalb kam ich bis jetzt nicht weiter.

fink konnte ich auch installieren.

und sdl auch.

aber das mit dem make und make install check ich nicht....

dazu kommt >> bei bomberclone hats bei mir im src kein Makefile.OSX, nur ein Makefile.in und Makefile.am

gruss tim_toxxic
 
nachdem du ./configure aufrufst, werden die entsprechenden make-files für dein system erstellt ... der aufruf von make kompiliert dann die quellen selbständig. ein aufruf von make install installiert ggfs. noch bibliotheken etc.

wie bereits erwähnt sollte nach ./configure ein aufruf von make reichen ... ansonsten, falls es fehler gibt, musst du die fehlenden komponenten nachinstallieren und/oder make install ausprobieren ...
 
ach so, danke..... ist ja eigentlich gar nicht so schwierig wenns jemand richtig erklärt...

jetzt müsste es nur noch funktionieren... weisst du per zufall was diese fehlermeldung bei ./configure bedeutet:

checking for inline... inline
checking for sdl-config... /sw/bin/sdl-config
checking for SDL - version >= 1.1.0... yes
checking for X... no
configure: WARNING: Enable Debuging
checking for IMG_LoadPNG_RW in -lSDL_image... yes
checking for Mix_OpenAudio in -lSDL_mixer... yes
checking for rintf... yes
checking for rintf in -lm... yes



danach kommen bei make lauter andere fehler, ich vermute aber das sind alles syntaxfehler:

else rm -f ".deps/main.Tpo"; exit 1; \
fi
In file included from main.c:4:
../include/bomberclone.h:37:23: SDL_image.h: No such file or directory
In file included from ../include/bomberclone.h:47,
from main.c:4:
../include/sound.h:10:23: SDL_mixer.h: No such file or directory
In file included from ../include/bomberclone.h:47,
from main.c:4:
../include/sound.h:27: error: parse error before "Mix_Chunk"
../include/sound.h:27: warning: no semicolon at end of struct or union
../include/sound.h:28: warning: type defaults to `int' in declaration of `music'
../include/sound.h:28: warning: data definition has no type or storage class
../include/sound.h:36: error: parse error before '}' token
../include/sound.h:36: warning: type defaults to `int' in declaration of `_snd'
make[2]: *** [main.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
M-A-C:~/Desktop/bomberclone-0.11.2 andy$ make install
Making install in include
make[2]: Nothing to be done for `install-exec-am'.
/bin/sh ../mkinstalldirs /usr/local/include/bomberclone
mkdir -p -- /usr/local/include/bomberclone
/usr/bin/install -c -m 644 basic.h /usr/local/include/bomberclone/basic.h
/usr/bin/install -c -m 644 bomberclone.h /usr/local/include/bomberclone/bomberclone.h
/usr/bin/install -c -m 644 chat.h /usr/local/include/bomberclone/cha



usw...
 
poste mal bitte die gesamte ausgabe!

das hier

checking for inline... inline
checking for sdl-config... /sw/bin/sdl-config
checking for SDL - version >= 1.1.0... yes
checking for X... no
configure: WARNING: Enable Debuging
checking for IMG_LoadPNG_RW in -lSDL_image... yes
checking for Mix_OpenAudio in -lSDL_mixer... yes
checking for rintf... yes
checking for rintf in -lm... yes

sind KEINE fehler!
 
Kleiner Tipp:

mach nicht einfach ein
./configure
sondern ein
./configure --help
und seh dir an was es dir an Optionen anbietet. Wenn man Software schon selber baut sollte man auch die Vorzüge die man dadurch erhält nutzen und das Programm den eigenen Wünschen anpassen ;)
 
so, tim, nachdem sich bomberclone erstmal ein wenig gewehrt hat, hab ich es kompiliert bekommen ... es besteht also noch hoffnung ; )
 
Katana schrieb:
poste mal bitte die gesamte ausgabe!

das hier

checking for inline... inline
checking for sdl-config... /sw/bin/sdl-config
checking for SDL - version >= 1.1.0... yes
checking for X... no
configure: WARNING: Enable Debuging
checking for IMG_LoadPNG_RW in -lSDL_image... yes
checking for Mix_OpenAudio in -lSDL_mixer... yes
checking for rintf... yes
checking for rintf in -lm... yes

sind KEINE fehler!

dass das keine fehler sind ist mir klar. ich meinte die warnung

configure: WARNING: Enable Debuging

aber ich nehme an das ist nicht so schlimm.


danke für eure hilfe, jetzt kommt noch die ober dummie-frage:
wo kann ich das endprodukt laufen lassen? in X11? und wie starte ichs dort?

btw: bin grad ethereal am kompilieren >> das ist jetzt schon seit mehr als einer stunde am kompilieren (ist das normal?? mit G5 1.6ghz)
 
Zuletzt bearbeitet:
meinst du mit endprodukt jetzt bomberclone?
falls ja, findest du nach erfolgreichem "make" im "src"-ordner eine datei namens "bomberclone", die du per "./bomberclone" im terminal aufgerufen bekommst ...

zum thema kompilierungsdauer -> das kommt schon mal vor, dass das eine gewisse zeit in anspruch nimmt ... je nach umfang ... nur geduld, junger jedi ... ; )
 
Code:
START >> make

make  all-recursive
Making all in include
make[2]: Nothing to be done for `all'.
Making all in src
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -I/sw/include/SDL -D_THREAD_SAFE -g -O2 -Wall -ggdb -O0 -MT main.o -MD -MP -MF ".deps/main.Tpo" \
  -c -o main.o `test -f 'main.c' || echo './'`main.c; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; \
else rm -f ".deps/main.Tpo"; exit 1; \
fi
In file included from main.c:4:
../include/bomberclone.h:37:23: SDL_image.h: No such file or directory
In file included from ../include/bomberclone.h:47,
                 from main.c:4:
../include/sound.h:10:23: SDL_mixer.h: No such file or directory
In file included from ../include/bomberclone.h:47,
                 from main.c:4:
../include/sound.h:27: error: parse error before "Mix_Chunk"
../include/sound.h:27: warning: no semicolon at end of struct or union
../include/sound.h:28: warning: type defaults to `int' in declaration of `music'
../include/sound.h:28: warning: data definition has no type or storage class
../include/sound.h:36: error: parse error before '}' token
../include/sound.h:36: warning: type defaults to `int' in declaration of `_snd'
make[2]: *** [main.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

STOP >> hier ists fertig, bzw. bricht er ab, oder?

beim aufruf von configure, bring er keinen fehler. sdl und all das fehlende zeug hab ich mit fink installiert.
 
Zuletzt bearbeitet:
yup, dort bricht er ab ...

ich musste per fink nicht nur SDL, sondern auch SDL_image, SDL_mixer und SDL_shlibs installieren ... alles über das menü -> source -> install ...

also in der reihenfolge

- SDL
- SDL_image
- SDL_shlibs
- SDL_mixer

musst etwas geduld mitbringen, wird ja auch alles erst kompiliert ...
aber danach sollte bomberclone fehlerfrei erstellt werden können.
 
wenn ich mich recht erinnere hab ich die alle installiert....

muss man bei os x nicht noch zwei zeilen in der source auskommentieren? dort hats was mit dem mixer dabei..........
 
öhm, ich musste nichts auskommentieren!?
 
ok, bin jetz noch bisschen am rumprobieren.... ist schon traurig für so ein billiges game so ein theater....

da gefällt mir Radnor (versiontracker) besser >> da laufen alle alten DOS-games von "früher"...... bin grad am Tankblaster und Blake Stone spielen, während kompiliert wird...
 
wieso traurig? so lernst halt was dazu ; )

werde mir jetzt mal blake stone anschauen, irgendwie kommt mir der name bekannt vor ...
 
yes......! es funktioniert....

danke euch....!!!!!!!!!
 
Zurück
Oben Unten