2011-03-27 11 views
7

Paylaşılan kitaplık yapmak için hazırlamak için bu adımı takip etmek gerekir:C: main() başarısız olmadan bazı nesneleri (paylaşılan bir kitaplık için) derlemek? Öğrendiğim kadarıyla

gcc -fPIC libfoo.c -o libfoo.o 

Sonra bağlamak. Bu adımlara yardımcı olmak için bir makefile yapmayı denedim, ama şimdi gerçekleşen hatalar var gibi görünüyor.

Bu benim make dosyası çalıştırdığınızda oluşur:

[email protected]:~/Projects/so$ gcc -fPIC ./libfoo.c -o libfoo.o 
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': 
(.text+0x18): undefined reference to `main' 
collect2: ld returned 1 exit status 
bir program değildir ve bir kütüphane olması amaçlanmıştır gibi ben ana işlevi olmadan kitaplık dosyası derlemek nasıl

?

o benim program temelde yardımcı olursa bu (yorumlanır)

(stdio and openssl headers here) 

(debugging macro definitions here) 

(two functions, gettime() and opensslrandom() defined here) 

herkes, ben de makrolar hakkında anlamada sorun var gibi onlar sonunda paylaşılan kitaplıkta olurdu onlar işe yaramaz paylaşılan kütüphane Makroların işe yarayıp yaramadığını henüz görmese de, bunları dahil etmek için libfoo.h içine dahil ettim.

cevap

İlgili konular