2011-03-27 52 views
7

從我意識到,我需要按照這個步驟來製作共享庫準備:C:編譯一些沒有main()的對象(對於共享庫)失敗?

gcc -fPIC libfoo.c -o libfoo.o 

然後我聯繫起來。我曾嘗試製作一個makefile來幫助完成這些步驟,但現在似乎出現了錯誤。

當我運行make文件會出現這種情況:

[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 

我怎麼編譯庫文件無主的功能,因爲它不是一個計劃,旨在爲圖書館嗎?

如果它幫助我的程序基本上是這樣(解釋)

(stdio and openssl headers here) 

(debugging macro definitions here) 

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

我似乎理解關於宏的問題爲好,因爲他們將在年底的共享庫,他們是沒用的共享庫?我將它們包含在libfoo.h中,但我還沒有看到這些宏是否工作。

回答