2010-01-25 8 views
1

Ok. J'essaie de compiler l'application suivante sur Windows (Segmenter, voir l'étape 3).Comment compiler sous Windows

J'ai vérifié la source et changé les références pour que tout soit bon. Il s'agit essentiellement d'une application à un seul fichier, avec une référence à ffmpeg.

Le makefile lit:

gcc -Wall -g segmenter.c -o segmenteur -lavformat -lavcodec -lavutil -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad

J'ai le compilateur Visual C++, mais je n'ai aucune idée de la façon de compiler la ligne ci-dessus en utilisant ce compilateur, ou devrais-je saisir Gcc for Windows?

+0

oui, saisissez gcc. Vous pouvez choisir entre MingW ou Cygwin – Earlz

+0

IMO, la compilation d'une application open source tombe dans les terres de SuperUser. –

+2

Il y a des milliers de questions concernant l'utilisation de gcc et des outils associés sur SO - je n'en ai jamais vu un seul migrer vers SU. –

Répondre

2

La ligne indique une compilation très simple. Il compile le fichier avec un argument standard (-g pour compiler avec les symboles de débogage, sur MSVC c'est/Zi).

Mais c'est la liaison avec beaucoup de bibliothèques (c'est toutes les options -l). Je reconnais deux de ces bibliothèques de compression standard (bz2 et z), donc vous aurez besoin de construire ces bibliothèques en premier.

1

Si vous n'avez pas de source pour les bibliothèques que vous liez, vous devrez probablement utiliser le compilateur qui les a compilées.

2

N'utilisez pas cygwin à moins que le projet sur lequel vous travaillez ne l'exige absolument. Télécharger la version MinGW de GCC plus binutils comme marque de http://tdragon.net/recentgcc. Je n'ai jamais entendu parler de la version de GCCvous fournissez un lien dans votre question - MinGW est le projet principal dans ce domaine.

1
cl -c -W4 segmenter.c -Fosegmenter.obj 
link segmenter.obj avformat avcodec avutil bz2 faac mp3lame x264 faad 

Je ne suis pas sûr de faire avec -lm et -lz cependant. En fait, toutes ces bibliothèques devront être construites par le compilateur MSVC pour que cela fonctionne.

1

Vous devriez être capable de use cl.exe que vous avez déjà. Vous pouvez utiliser /Wall au lieu de -Wall. (W contrôle la façon dont les avertissements sont générés.)

R Samuel Klatchko donne le reste de ce que vous devez savoir.

Questions connexes