Zlib移植指南

来自SylixOS-wiki
(版本间的差异)
跳转至: 导航, 搜索
(配置 zlib)
(配置 zlib)
 
(未显示1个用户的7个中间版本)
第17行: 第17行:
 
  cd zlib
 
  cd zlib
  
==配置 zlib==
+
==增加环境变量==
  
:*1. 增加编译器环境变量:
+
:*1. 设置编译器环境变量:
 
::'''开源版 ARM 工具链环境变量'''
 
::'''开源版 ARM 工具链环境变量'''
 
  export CC=arm-none-eabi-gcc
 
  export CC=arm-none-eabi-gcc
第26行: 第26行:
 
  export CC=arm-sylixos-eabi-gcc
 
  export CC=arm-sylixos-eabi-gcc
  
 +
:*2. 设置 SylixOS Base 工程路径环境变量(编译好的 SylixOS Base 工程路径根据实际情况设置):
 
  export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/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 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 \
 
  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 \
第32行: 第35行:
 
  export LDSHAREDLIBC="$LDFLAGS"
 
  export LDSHAREDLIBC="$LDFLAGS"
  
:*2. 配置:
+
==配置 zlib==
 +
 
 +
:配置:
 
  ./configure --prefix=/opt/arm-sylixos-zlib
 
  ./configure --prefix=/opt/arm-sylixos-zlib
  
::如果您在 MinGW 环境编译 zlib,需要修改 configure 文件,否则配置不能通过,打开 configure,找到 MINGW* | mingw*),修改它下面几行如下:
+
:如果您在 MinGW 环境编译 zlib,需要修改 configure 文件,否则配置不能通过,打开 configure,找到 MINGW* | mingw*),修改它下面几行如下:
 
   MINGW* | mingw*)
 
   MINGW* | mingw*)
 
  # temporary bypass
 
  # temporary bypass
 
         LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
 
         LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
  
==编译 zlib==
+
==修改 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

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
个人工具
名字空间

变种
操作
导航
工具