Zlib移植指南
来自SylixOS-wiki
(版本间的差异)
Jiaojinxing (讨论 | 贡献) (以“==下载 zlib== :在 linux 环境下操作。 :*进入 sylixos 工作空间: cd /home/user/sylixos_workspace :*下载 zlib: :zlib 的主页为 http://www.zlib...”为内容创建页面) |
Jiaojinxing (讨论 | 贡献) (→配置 zlib) |
||
(未显示1个用户的22个中间版本) | |||
第1行: | 第1行: | ||
==下载 zlib== | ==下载 zlib== | ||
− | :在 linux 环境下操作。 | + | :在 linux 或 MinGW 环境下操作。 |
− | :*进入 sylixos 工作空间: | + | :*1. 进入 sylixos 工作空间: |
cd /home/user/sylixos_workspace | cd /home/user/sylixos_workspace | ||
− | :*下载 zlib: | + | :*2. 下载 zlib: |
:zlib 的主页为 http://www.zlib.net | :zlib 的主页为 http://www.zlib.net | ||
− | :*解压 zlib: | + | :*3. 解压 zlib: |
tar zxvf zlib-1.2.8.tar.gz | tar zxvf zlib-1.2.8.tar.gz | ||
− | :*修改 zlib 目录名,避免版本升级带来不必要的麻烦: | + | :*4. 修改 zlib 目录名,避免版本升级带来不必要的麻烦: |
mv zlib-1.2.8 zlib | mv zlib-1.2.8 zlib | ||
− | :*进入 zlib 目录: | + | :*5. 进入 zlib 目录: |
cd zlib | cd zlib | ||
− | == | + | ==增加环境变量== |
− | :* | + | :*1. 设置编译器环境变量: |
+ | ::'''开源版 ARM 工具链环境变量''' | ||
export CC=arm-none-eabi-gcc | export CC=arm-none-eabi-gcc | ||
− | : | + | ::'''商业版 ARM 工具链环境变量''' |
− | + | export CC=arm-sylixos-eabi-gcc | |
− | + | :*2. 设置 SylixOS Base 工程路径环境变量(编译好的 SylixOS Base 工程路径根据实际情况设置): | |
− | :* | + | export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base |
− | + | ||
− | SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base | + | |
− | :* | + | :*3. 设置链接与编译标志环境变量 |
− | + | export LDFLAGS="-mcpu=arm920t -fPIC -shared -L$SYLIXOS_BASE_PATH/libsylixos/Debug -L$SYLIXOS_BASE_PATH/libcextern/Debug -nostdlib -lcextern -lvpmpdm -lm -lgcc" | |
− | + | export CFLAGS="-mcpu=arm920t -fPIC -DSYLIXOS -DSYLIXOS_LIB -fsigned-char -fno-short-enums -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include \ | |
− | + | -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include/inet -I$SYLIXOS_BASE_PATH/libcextern/libcextern/include $LDFLAGS" | |
− | + | export LDSHAREDLIBC="$LDFLAGS" | |
− | + | ||
− | + | ||
− | : | + | ==配置 zlib== |
− | + | ||
− | + | :配置: | |
− | + | ./configure --prefix=/opt/arm-sylixos-zlib | |
+ | |||
+ | :如果您在 MinGW 环境编译 zlib,需要修改 configure 文件,否则配置不能通过,打开 configure,找到 MINGW* | mingw*),修改它下面几行如下: | ||
+ | MINGW* | mingw*) | ||
+ | # temporary bypass | ||
+ | LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;; | ||
+ | |||
+ | ==修改 Makefile== | ||
− | : | + | :configure 生成的 Makefile 有个小问题,需要修改 Makefile 的 TEST_LDFLAGS 变量如下: |
− | + | ||
− | + | ||
− | + | TEST_LDFLAGS=-L. libz.a -nostdlib -lcextern -lvpmpdm -lm -lgcc | |
− | + | ||
− | == | + | ==编译和安装 zlib== |
make | make | ||
sudo make install | sudo make install | ||
==部署 zlib== | ==部署 zlib== | ||
− | :*在 SylixOS 目标板的 /lib 目录中创建 zlib 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-zlib 目录)下载到 SylixOS 目标板的 /lib/zlib 目录。 | + | :*1. 在 SylixOS 目标板的 /lib 目录中创建 zlib 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-zlib 目录)下载到 SylixOS 目标板的 /lib/zlib 目录。 |
:下面的命令在 SylixOS 目标板的终端执行: | :下面的命令在 SylixOS 目标板的终端执行: | ||
− | :*创建好相应的符号链接: | + | :*2. 创建好相应的符号链接: |
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 | ||
− | :*修改环境变量: | + | :*3. 修改环境变量: |
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/zlib/lib | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/zlib/lib | ||
varsave | varsave |
2015年5月19日 (二) 09:40的最后版本
目录 |
[编辑] 下载 zlib
- 在 linux 或 MinGW 环境下操作。
- 1. 进入 sylixos 工作空间:
cd /home/user/sylixos_workspace
- 2. 下载 zlib:
- zlib 的主页为 http://www.zlib.net
- 3. 解压 zlib:
tar zxvf zlib-1.2.8.tar.gz
- 4. 修改 zlib 目录名,避免版本升级带来不必要的麻烦:
mv zlib-1.2.8 zlib
- 5. 进入 zlib 目录:
cd zlib
[编辑] 增加环境变量
- 1. 设置编译器环境变量:
- 开源版 ARM 工具链环境变量
export CC=arm-none-eabi-gcc
- 商业版 ARM 工具链环境变量
export CC=arm-sylixos-eabi-gcc
- 2. 设置 SylixOS Base 工程路径环境变量(编译好的 SylixOS Base 工程路径根据实际情况设置):
export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base
- 3. 设置链接与编译标志环境变量
export LDFLAGS="-mcpu=arm920t -fPIC -shared -L$SYLIXOS_BASE_PATH/libsylixos/Debug -L$SYLIXOS_BASE_PATH/libcextern/Debug -nostdlib -lcextern -lvpmpdm -lm -lgcc" export CFLAGS="-mcpu=arm920t -fPIC -DSYLIXOS -DSYLIXOS_LIB -fsigned-char -fno-short-enums -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include \ -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include/inet -I$SYLIXOS_BASE_PATH/libcextern/libcextern/include $LDFLAGS" export LDSHAREDLIBC="$LDFLAGS"
[编辑] 配置 zlib
- 配置:
./configure --prefix=/opt/arm-sylixos-zlib
- 如果您在 MinGW 环境编译 zlib,需要修改 configure 文件,否则配置不能通过,打开 configure,找到 MINGW* | mingw*),修改它下面几行如下:
MINGW* | mingw*) # temporary bypass LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
[编辑] 修改 Makefile
- configure 生成的 Makefile 有个小问题,需要修改 Makefile 的 TEST_LDFLAGS 变量如下:
TEST_LDFLAGS=-L. libz.a -nostdlib -lcextern -lvpmpdm -lm -lgcc
[编辑] 编译和安装 zlib
make sudo make install
[编辑] 部署 zlib
- 1. 在 SylixOS 目标板的 /lib 目录中创建 zlib 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-zlib 目录)下载到 SylixOS 目标板的 /lib/zlib 目录。
- 下面的命令在 SylixOS 目标板的终端执行:
- 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