2011-01-11 1 views
0

Je suis en train de construire le code source ffmpeg sur ubuntu 10.1 machine Linux avec la version gcc 4.4.3.Lier erreur tout en essayant de compiler le code source de ffmpeg pour rendre la bibliothèque indépendante

Je suis intéressé à faire fonction av_transcode() dans ffmpeg.c disponibles », donc j'ai commenté la principale fonction de ffmpeg.c.

gcc $ (LD_LIBRARY_PATHS) -Wl, -Bsymbolic -Wl, -E -o ffmpeg_g ffmpeg.o cmdutils.o -lavdevice -lavformat -lavcodec -lswscale -lavutil -lz -pthread -lm -lx264 -lm -lasound -lasound -lasound -ldl

Je reçois ci-dessous reliant les erreurs

+++++++++++++++++++++++++++++++++++++++++++++++ ++ /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: Dans la fonction _start': (.text+0x20): undefined reference to principale collect2: ld retourné 1 état de sortie Marque: * [ffmpeg_g] Erreur 1 +++++++++++++++++++++++++++ +++++++++++++++++++++++

Le même comportement est observé sur mon Mac OS (léopard des neiges) ainsi.

mettre SO la question courte, Comment puis-je dire compilateur gcc que je suis la construction de ce code source pour faire bibliothèque?

Répondre

0

gcc -shared Si vous essayez de créer une bibliothèque partagée, utilisez simplement ar pour regrouper les objets compilés.

Mais vous devriez vraiment aller lire How To Write Shared Libraries (PDF) et beaucoup d'autres documents, de sorte que vous compreniez pourquoi ce qui précède échouera parfois sans -fPIC et ainsi de suite.

+0

Merci, Le document a été utile pour la compréhension de la création de bibliothèques. – user570794

Questions connexes