在带有 debian 服务器的树莓派 2 上编译 bzip1?

在带有 debian 服务器的树莓派 2 上编译 bzip1?

我在 vim.org 的 ftp 上偶然发现了已停止使用的 bzip-0.21,这是值得尊敬的,所以我认为它很好。

然而 1996 年的代码将无法再用今天的 GCC 进行编译。

是否有机会让它在需要为armhf编译二进制文件的现代设备上运行?

只是旧压缩算法的爱好者。当我进行测试时,vim 存档中的 .tar.gz 中的 Windows 二进制文件实际上生成的文件比 bzip2 更小。对于这么旧的代码来说,这是相当令人印象深刻的。

问候礼物

编辑:错误是对“minUInt32”的未定义引用在我的例子中,gcc 无法识别 c 文件本身内部的引用。

答案1

通过从台式电脑交叉编译解决:

得到要求

sudo apt-get install build-essential g++-arm-linux-gnueabihf gdb-multiarch -y

构建目标代码并编译

ran@compilestation:~$ arm-linux-gnueabihf-gcc -O3 -g3 -Wall -c -o -fPIC "bzip.c"
ran@compilestation:~$ arm-linux-gnueabihf-gcc -o "bzip1" bzip1.o

验证你的工作

ran@compilestation:~$ file bzip1
bzip1: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=4cf52bccf817e031556bab923696f4677b00d29b, not stripped

(感谢Stephen的精神支持)

相关内容