【问题标题】:Trying to compile tcpxtract on mac osx gives i386 symbol not found尝试在 mac osx 上编译 tcpxtract 会导致找不到 i386 符号
【发布时间】:2013-08-24 21:48:20
【问题描述】:

我今天正在做一些测试,正在寻找一个命令行程序,它可以让我从 tcp 流量中提取文件,我似乎找到了一个名为 tcpxtract 的程序,但是当我尝试编译它时,我得到了make 出现以下错误

Undefined symbols for architecture i386:
  "_yywrap", referenced from:
      _yylex in confl.o
      _input in confl.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
make: *** [tcpxtract] Error 1

我该怎么做才能让它编译?

我在 Macbook Pro Retina 2013 年初运行 0SX 10.8.4

【问题讨论】:

    标签: c++ macos command-line compilation


    【解决方案1】:

    您需要链接到-lflflex 库)。确保它在您的目标文件之后。

    【讨论】:

    • 我不太清楚你的意思,你能指导一下吗?
    • 您需要在生成文件的链接阶段将-lfl 添加到构建最终可执行文件的行中。我无法提供更多细节,因为我没有您正在处理的源代码,也不知道 makefile 的样子。
    【解决方案2】:

    运行configure 后编辑你的Makefile。走到写着

    的那一行
    LIBS = -lpcap
    

    (大约 130 行)

    并将其更改为:

    LIBS = -lpcap -ll
    

    然后它应该构建。

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多