2011-02-03 77 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