2011-02-03 52 views
0

我想編譯一個名爲JPCAP的開源數據包捕獲軟件(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/)。我正試圖在ARM處理器上構建此軟件。執行make時出現以下錯誤。我是一名Java開發人員,我在我的Java應用程序中使用此JPCAP。請幫我理解這個錯誤。編譯OpenSource數據包捕獲軟件

Simplified Make Command: 
    gcc -fPIC -I/home/skolli/native/java/include -I/home/skolli/native/java/include/linux -I/usr/include *.c -o libjpcap.so -lp 
    cap 

Error: 

init.c:(.text+0x30): undefined reference to `main' 
collect2: ld returned 1 exit status 
+1

爲什麼你不以下的[指令](http://netresearch.ics.uci.edu /kfujii/Jpcap/doc/install.html)? Makefile中的平臺選項沒有指定`-fPIC`,而Linux則需要`-shared`。 – genpfault 2011-02-03 23:01:46

回答

0

是的,genpfault是正確的,通常這些步驟記錄爲「./configure」,後面跟着make和「make install」。

否則,編譯,以生成共享庫是舉例如下:

GCC -fpic -c foo.c的 GCC -fpic -c bar.c

並結合foo.o的和酒吧。 Ô到共享庫中

GCC -shared -o libshared.so foo.o的文件bar.o