Zlib移植
来自SylixOS-wiki
(版本间的差异)
Jiaojinxing (讨论 | 贡献) (→编译) |
Jiaojinxing (讨论 | 贡献) (→编译 zlib) |
||
第54行: | 第54行: | ||
make install | make install | ||
− | == | + | ==部署 zlib== |
:1. 在 SylixOS 主机 /lib 中创建 zlib 文件夹, 然后将 make install 的结果拷贝到此处。 | :1. 在 SylixOS 主机 /lib 中创建 zlib 文件夹, 然后将 make install 的结果拷贝到此处。 | ||
2015年5月15日 (五) 11:55的版本
目录 |
下载 zlib
- 在 linux 环境下操作。
- 进入 sylixos 工作空间:
cd /home/user/sylixos_workspace
- 下载 zlib:
zlib 的主页为 http://www.zlib.net
- 解压 zlib:
tar zxvf zlib-1.2.8.tar.gz
- 修改 zlib 目录名,避免版本升级带来不必要的麻烦:
mv zlib-1.2.8 zlib
- 进入 zlib 目录:
cd zlib
配置 zlib
- 导出编译器环境变量:
export CC=arm-none-eabi-gcc
- 配置:
./configure --prefix=/opt/arm-sylixos-zlib
修改 Makefile
- 1. 加入如下内容:(编译好的 SylixOS Base 工程路径根据实际情况设置)
# SylixOS Base PATH SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base
- 2. 加入如下内容:
# SylixOS includes INCDIR = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet SHLDIR = $(SYLIXOS_BASE_PATH)/libsylixos/Debug SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug
- 3. 加入如下内容:
# SylixOS compile and link options SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
- 4. 修改 CFLAG 和 SFLAG:
CFLAG = $(SYLIXOS_CFLAGS) $(SYLIXOS_EXLIBS) -shared ...... SFLAG = $(SYLIXOS_CFLAGS) ......
- 5. 修改 LDSHAREDLIBC:
LDSHAREDLIBC=-shared $(SYLIXOS_EXLIBS)
编译 zlib
make make install
部署 zlib
- 1. 在 SylixOS 主机 /lib 中创建 zlib 文件夹, 然后将 make install 的结果拷贝到此处。
- 2. 创建好相应的符号链接
cd /lib/zlib/lib ln -s libz.so.1 libz.so ln -s libz.so.1.2.8 libz.so
- 3. 修改环境变量
$LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/zlib/lib varsave