我试图为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?

最佳答案


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

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

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

10-13 03:27