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