交叉编译7z

//
// Introduction
//
7-Zip(7-Zip官方网站:http://www.7-zip.org/)是一个开源的数据压缩程序,主要用在Windows、类Unix操作系统。7-Zip主体在GNU LGPL下发布,加密部份使用AES的代码,使用BSD License发布,解压RAR部分使用RAR特定的许可协议。7-Zip默认的格式是其自行开发的7z格式,扩展名为“.7z”。7z格式包含多种算法,最常使用的就是Bzip2以及Igor Pavlov开发的LZMA。LZMA算法比起其他常见的传统压缩算法,比如Zip、RAR来说相对较新,压缩率也比较高。7z格式本地的使用Unicode来存储文件名称,可以避免不同系统间压缩解压乱码的问题。7-Zip支持众多的压缩/未压缩的文件格式,比如ZIP、CAB、RAR、ARJ、Z、gzip、bzip2、LLHA、tar、cpio、rpm。从4.42版开始支持CD/DVD镜像格式ISO,另外因为授权问题,不再支持ACE格式。

//
// Cross-compile
//
1. 下载源码p7zip_15.09_src_all.tar.bz2
2. 解压源码
3. 修改makefile.machine,设置交叉编译工具链,并且静态链接

$ cd p7zip_15.09/
$ cat makefile.machine
#
# makefile for Linux (CROSS ARM)
#

OPTFLAGS=-O -s

ALLFLAGS=${OPTFLAGS} -pipe \
        -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
    -DNDEBUG -D_REENTRANT -DENV_UNIX \
    -D_7ZIP_LARGE_PAGES \
    $(LOCAL_FLAGS)

CXX=arm-none-linux-gnueabi-g++
CC=arm-none-linux-gnueabi-gcc
CC_SHARED=-fPIC -DPIC
LINK_SHARED=-fPIC -DPIC -shared
LDFLAGS += -static

TOOLS=qemu-arm /usr/arm-linux-gnueabi/lib/ld-linux.so.3   --library-path /usr/arm-linux-gnueabi/lib

LOCAL_LIBS=-lpthread
LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl

OBJ_CRC32=$(OBJ_CRC32_C)
OBJ_AES=

4 编译生成的7za在bin/目录下

$ file bin/7za 
bin/7za: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.14, stripped

5 把7za放到ARM机器上验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要进行sdl_ttf的交叉编译,你需要先下载SDL_ttf的源代码包(SDL_ttf-2.0.10.tar.gz),你可以在SDL官方网站的下载页面中找到它的下载地址。在进行交叉编译之前,你需要先安装好SDL、freetype和libiconv这三个依赖库。 接下来,你需要设置好交叉编译环境。根据你提供的信息,你的系统环境是linux,移植环境是arm11,编译工具链是gcc-4.3.1。确保你已经正确安装了适用于arm11的交叉编译工具链,并将其添加到系统的PATH环境变量中。 在开始编译之前,你需要先解压SDL_ttf的源代码包。进入解压后的目录,并使用以下命令进行配置和编译: ``` ./configure --host=arm-none-linux-gnueabi --prefix=/path/to/install make make install ``` 其中,--host参数指定了目标平台的体系结构,根据你的情况替换为适合arm11的值。--prefix参数指定了安装路径,根据你的需求进行替换。 编译完成后,你可以将生成的库文件和头文件拷贝到目标平台上,并将其链接到你的应用程序中。 总结起来,进行sdl_ttf的交叉编译的步骤如下: 1. 下载SDL_ttf的源代码包(SDL_ttf-2.0.10.tar.gz)。 2. 解压源代码包。 3. 设置好交叉编译环境,并确保已安装好SDL、freetype和libiconv这三个依赖库。 4. 进入解压后的目录,执行配置命令和编译命令。 5. 将生成的库文件和头文件拷贝到目标平台上。 希望这些步骤对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SDL以及扩展库的交叉编译过程简介](https://blog.csdn.net/hqyhqyhq/article/details/7659495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值