compiler-errors - LZ4HC编译问题: LZ4_compressBound undefined

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

我试图为LZ4HC创建一个可执行文件(我使用了lz4主页上的源代码),但是当我尝试执行该文件时,它显示了“符号错误LZ4_compressBound未定义”。
静态链接或动态链接均无效。

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

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

为什么链接后 undefined symbol LZ4_compressBound?

最佳答案

Neither static linking nor dynamical linking wasn't worked.

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


上面的命令将lz4hc.c编译到一个名为lz4hc.h的共享库中。那几乎肯定不是您想要的。

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


这些命令产生lz4hc.a(正确),但不执行任何实际链接。
我猜您的实际链接命令看起来像gcc lz4hc.a main.o,在这种情况下,您的问题是this one的重复项(其他100项重复项中)。

关于compiler-errors - LZ4HC编译问题: LZ4_compressBound undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52999656/

相关文章:

linux - gcc 链接选项以查看为什么某些目标文件链接到二进制文件

Javascript 在第 2 3 行给出的字符串不起作用

linux - 构建独立的 Qt Linux 可执行文件

c++ - 在支持 obj 文件的 Linux 上静态编译 osgconv

gcc - 在编译文件中包含 mingw 库

c - C代码错误: expression is not assignable错误

c# - 错误: An object reference is required for the non-static field, method, or property

c - ‘=’ token 之前出现错误 : expected ‘,’ , ‘;’ 、 ‘asm’ 、 ‘__attribute__’ 或 ‘{’

java - 如何从程序的输出中删除错误?

delphi - 为什么使用 $L 指令链接的目标文件的顺序很重要?