나는 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에게 감사드립니다)