【问题标题】:LZ4HC Compile problem: LZ4_compressBound undefinedLZ4HC 编译问题:LZ4_compressBound undefined
【发布时间】:2018-10-25 23:58:18
【问题描述】:

我尝试为 LZ4HC 创建一个可执行文件(我使用了 lz4 主页的源代码),但是当我尝试执行该文件时,它显示“符号错误 LZ4_compressBound undefined”。 静态链接和动态链接都不起作用。

gcc -shared -ggdb3 -fPIC -o lz4hc.h lz4hc.c

gcc -c lz4hc.c -o lz4hc.o
ar rcs lz4hc.a lz4hc.o

为什么链接后符号 LZ4_compressBound 未定义?

【问题讨论】:

  • “为什么……在链接之后?” -- 请编辑您的问题并显示实际的 link 命令。

标签: compiler-errors linker static-linking dynamic-linking lz4


【解决方案1】:

静态链接和动态链接都不起作用。

gcc -shared -ggdb3 -fPIC -o lz4hc.h lz4hc.c

上述命令将lz4hc.c 编译为名为@9​​87654324@ 的共享库。这几乎肯定不是你想要的。

gcc -c lz4hc.c -o lz4hc.o
ar rcs lz4hc.a lz4hc.o

这些命令产生lz4hc.a(正确)但不执行任何实际链接。

我猜您的实际链接命令类似于 gcc lz4hc.a main.o,在这种情况下,您的问题是 this one 的重复项(在 100 个其他重复项中)。

【讨论】:

    【解决方案2】:

    LZ4_compressBound()lz4.c 中定义。

    文档指出,为了使用/链接lz4hc,还需要lz4https://github.com/lz4/lz4/tree/dev/lib#high-compression-variant

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2020-04-03
      • 2010-10-04
      • 2018-02-15
      相关资源
      最近更新 更多