【问题标题】:Compiling OpenSource Packet Capture softwares编译开源数据包捕获软件
【发布时间】:2011-02-03 22:31:17
【问题描述】:

我正在尝试编译名为 JPCAP (http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/) 的开源数据包捕获软件。我正在尝试在 ARM 处理器上构建这个软件。执行 make 时出现以下错误。我是一名 Java 开发人员,我在我的 Java 应用程序中使用了这个 JPCAP。请帮助我理解这个错误。

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

【问题讨论】:

  • 你为什么不关注instructions? Makefile 中的平台选项都没有指定-fPIC,而Linux 需要-shared
  • 这个已经下载并在盒子上可用。我刚刚接管了它。我改变了它,现在它工作正常。谢谢。

标签: java c++ c gcc arm


【解决方案1】:

是的,genpfault 是对的,通常这些步骤记录为“./configure”,然后是 make,然后是“make install”。

否则编译生成共享库例如如下:

gcc -fpic -c foo.c gcc -fpic -c bar.c

并将 foo.o 和 bar.o 组合成一个共享库,如下所示

gcc -shared -o libshared.so foo.o bar.o

【讨论】:

    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多