C: компиляция некоторых объектов (для разделяемой библиотеки) без main () не выполняется?

Из того, что я узнал, мне нужно выполнить этот шаг, чтобы подготовиться к созданию разделяемой библиотеки:

gcc -fPIC libfoo.c -o libfoo.o

И затем я связываю его. Я пытался создать make-файл, чтобы помочь в этих шагах, но, похоже, сейчас возникают ошибки.

Это происходит, когда я запускаю make-файл:

foo@box:~/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

Как я могу скомпилировать файл библиотеки без основной функции, так как это не программа и предназначена быть библиотекой?

Если это помогает, моя программа в основном такова (интерпретируется)

(stdio and openssl headers here)

(debugging macro definitions here)

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

У меня, кажется, также есть проблемы с пониманием макросов, поскольку они были бы в общем библиотеки в конце концов они бесполезны в общей библиотеке? Я включил их в libfoo.h для включения, хотя мне еще предстоит проверить, работают ли макросы.

7
задан Tim N. 27 March 2011 в 03:36
поделиться