tag 标签: zlib

相关博文
  • 热度 21
    2015-11-21 13:59
    1682 次阅读|
    0 个评论
    在 SylixOS 网站的百科页面有“ Zlib 移植指南”根据指南的说明,可以方便的进行 zlib 库的移植和安装。  除上述方法外,还能够在 RealEvo-IDE 下编译 zlib 库,从网站 http://www.zlib.net/  下载 zlib source code ,这里使用的是 tar.xz 格式 ( 其他格式应该也可以,没有验证 ) 。下载后的文件名为 zlib-1.2.8.tar.xz ,使用普通的 rar 解压软件解压到当前文件即可。解压后的文件所在文件夹名称为 zlib-1.2.8 。     进入 zlib-1.2.8 文件夹,打开 /watcom/watcom_l.mak 文件,感觉此文件比较像 makefile 。在此文件里面会看到这样一些语句: C_SOURCE =  adler32.c  compress.c crc32.c   deflate.c            gzclose.c  gzlib.c    gzread.c  gzwrite.c                infback.c  inffast.c  inflate.c inftrees.c               trees.c    uncompr.c  zutil.c    上述语句中包含的 **.c 文件应该就是实现 zlib 库压缩功能的文件。将 zlib-1.2.8 文件夹下中同名的 **.c 文件单独拷贝到一个文件夹 zlib ,并将相关的 **.h 文件也一并拷贝到相同目录下。     打开 RealEvo-IDE ,建立一个“ SylixOS Shared  Lib ”工程,此处命名为 zlib_dll ,将上一步骤中 zlib 文件夹下的 **.c 和 **.h 文件均拷贝到工程 zlib_dll 的目录下,并将自动生成的 zlib_dll.c 文件删除。         修改 zlib_dll 工程的 Makefile ,将 SRCS 修改如下: #****************************************************************************** # src(s) file #****************************************************************************** SRCS = \     adler32.c  \     compress.c \     crc32.c    \     deflate.c  \     gzclose.c  \     gzlib.c    \     gzread.c   \     gzwrite.c  \     infback.c  \     inffast.c  \     inflate.c  \     inftrees.c \     trees.c    \     uncompr.c  \     zutil.c  会发现这里的 SRCS 与 watcom_l.mak 文件下的 C_SOURCE 相同。修改 target 输出如下 #****************************************************************************** #  target #****************************************************************************** LIB = $(OUTPATH)/libzlib.a DLL = $(OUTPATH)/libzlib.so    其实这里也可以不更改,默认 libzlib_dll.so 文件也可以使用,只是不习惯。   上述步骤完成后,右键选择“ Build Project ”,编译成功后会在 Debug 目录下生成 target 中定义的两个文件。自此我们已经完成 zlib 库在 SylixOS 下编译移植。 /*********************zlib 库的验证 ***********************/         新建“ SylixOS App ”工程,将生成的 main 函数更改如下: #include #include   int main() {   /* 原始数据 */   unsigned char strSrc = {0};   unsigned char strDst = {0};   unsigned long srcLen = sizeof(strSrc);   unsigned long bufLen = sizeof(buf);   unsigned long dstLen = sizeof(strDst);   printf("Src string:%s\nLength:%ld\n", strSrc, srcLen);     /* 压缩 */   compress(buf, bufLen, strSrc, srcLen);   printf("After Compressed Length:%ld\n", bufLen);     /* 解压缩 */   uncompress(strDst, dstLen, buf, bufLen);   printf("After UnCompressed Length:%ld\n",dstLen);   printf("UnCompressed String:%s\n",strDst);   return 0; }     修改 makefile ,在 include path 下添加头文件包含路径,修改后如下: INCDIR  = -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS" INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include" INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet" INCDIR += -I"../zlib_dll"         在动态链接库下添加需要的 zlib 库文件名称和目录 #****************************************************************************** # depend dynamic library #****************************************************************************** DEPEND_DLL = -lvpmpdm DEPEND_DLL += -lzlib #****************************************************************************** # depend dynamic library search path #****************************************************************************** DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libsylixos/$(OUTDIR)" DEPEND_DLL_PATH += -L"../zlib_dll/Debug"    这里需要注意动态库名称的填写,在 zlib_dll 工程中生成的文件是 libzlib.so 文件,在填写的时候头尾都去除了,并添加了 -l 。编译 zlib_demo 工程。 使用 FTP 工具或者使用 RealEvo-IDE 里面的 Upload 工具,可以 ibzlib.so 文件上传到 SylixOS 设备中的 /lib 目录, zlib_demo /apps/zlib_demo 目录下,执行程序,会输出程序运行结果。 说明运行成功。
  • 热度 19
    2015-6-28 14:20
    751 次阅读|
    0 个评论
      在 SylixOS 网站的百科页面有“ Zlib 移植指南”根据指南的说明,可以方便的进行 zlib 库的移植和安装。  除上述方法外,还能够在 RealCoder 下编译 zlib 库,从网站 http://www.zlib.net/ 下载 zlib source code ,这里使用的是 tar.xz 格式 ( 其他格式应该也可以,没有验证 ) 。下载后的文件名为 zlib-1.2.8.tar.xz ,使用普通的 rar 解压软件解压到当前文件即可。解压后的文件所在文件夹名称为 zlib-1.2.8 。     进入 zlib-1.2.8 文件夹,打开 /watcom/watcom_l.mak 文件,感觉此文件比较像 makefile 。在此文件里面会看到这样一些语句: 以下是代码片段: C_SOURCE =  adler32.c  compress.c crc32.c   deflate.c            gzclose.c  gzlib.c    gzread.c  gzwrite.c                infback.c  inffast.c  inflate.c inftrees.c               trees.c    uncompr.c  zutil.c    上述语句中包含的 **.c 文件应该就是实现 zlib 库压缩功能的文件。将 zlib-1.2.8 文件夹下中同名的 **.c 文件单独拷贝到一个文件夹 zlib ,并将相关的 **.h 文件也一并拷贝到相同目录下。     打开 RealCoder ,建立一个“ SylixOS Shared  Lib ”工程,此处命名为 zlib_dll ,将上一步骤中 zlib 文件夹下的 **.c 和 **.h 文件均拷贝到工程 zlib_dll 的目录下,并将自动生成的 zlib_dll.c 文件删除。        修改 zlib_dll 工程的 Makefile ,将 SRCS 修改如下: 以下是代码片段: #****************************************************************************** # src(s) file #****************************************************************************** SRCS = \     adler32.c  \     compress.c \     crc32.c    \     deflate.c  \     gzclose.c  \     gzlib.c    \     gzread.c   \     gzwrite.c  \     infback.c  \     inffast.c  \     inflate.c  \     inftrees.c \     trees.c    \     uncompr.c  \     zutil.c  会发现这里的 SRCS 与 watcom_l.mak 文件下的 C_SOURCE 相同。修改 target 输出如下 #****************************************************************************** #  target #****************************************************************************** LIB = $(OUTPATH)/libzlib.a DLL = $(OUTPATH)/libzlib.so    其实这里也可以不更改,默认 libzlib_dll.so 文件也可以使用,只是不习惯。   上述步骤完成后,右键选择“ Build Project ”,编译成功后会在 Debug 目录下生成 target 中定义的两个文件。自此我们已经完成 zlib 库在 SylixOS 下编译移植。 /*********************zlib 库的验证 ***********************/        新建“ SylixOS App ”工程,将生成的 main 函数更改如下: 以下是代码片段: #include #include   int main() {   /* 原始数据 */   unsigned char strSrc = {0};   unsigned char strDst = {0};   unsigned long srcLen = sizeof(strSrc);   unsigned long bufLen = sizeof(buf);   unsigned long dstLen = sizeof(strDst);   printf("Src string:%s\nLength:%ld\n", strSrc, srcLen);     /* 压缩 */   compress(buf, bufLen, strSrc, srcLen);   printf("After Compressed Length:%ld\n", bufLen);     /* 解压缩 */   uncompress(strDst, dstLen, buf, bufLen);   printf("After UnCompressed Length:%ld\n",dstLen);   printf("UnCompressed String:%s\n",strDst);   return 0; }     修改 makefile ,在 include path 下添加头文件包含路径,修改后如下: INCDIR  = -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS" INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include" INCDIR += -I"$(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet" INCDIR += -I"../zlib_dll"        在动态链接库下添加需要的 zlib 库文件名称和目录 #****************************************************************************** # depend dynamic library #****************************************************************************** DEPEND_DLL = -lvpmpdm DEPEND_DLL += -lzlib #****************************************************************************** # depend dynamic library search path #****************************************************************************** DEPEND_DLL_PATH = -L"$(SYLIXOS_BASE_PATH)/libsylixos/$(OUTDIR)" DEPEND_DLL_PATH += -L"../zlib_dll/Debug"    这里需要注意动态库名称的填写,在 zlib_dll 工程中生成的文件是 libzlib.so 文件,在填写的时候头尾都去除了,并添加了 -l 。编译 zlib_demo 工程。 使用 FTP 工具或者使用 RealCoder 里面的 Upload 工具,可以 ibzlib.so 文件上传到 SylixOS 设备中的 /lib 目录, zlib_demo /apps/zlib_demo 目录下,执行程序,会输出程序运行结果。 说明运行成功。
  • 热度 24
    2012-4-4 12:06
    1600 次阅读|
    0 个评论
    DirectVNC   的移植会涉及到很多库文件,比如zlib,glib,jpglib,pnglib,free_type zlib配置 export LDFLAGS="-L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include" ./configure  --prefix=/home/parson/project/podium/zlib-1.2.3/__install   glib配置 export LDFLAGS="-L/home/parson/project/podium/dbus-1.5.8/__install/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g -I/home/parson/project/podium/dbus-1.5.8/__install/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include"   ./configure --host=arm-linux --build=i686-pc-linux CC=arm-none-linux-gnueabi-gcc CCAS=arm-none-linux-gnueabi-as AR=arm-none-linux-gnueabi-ar LD=arm-none-linux-gnueabi-ld --host=arm-linux --prefix=/home/parson/project/podium/glib-2.22.4/__install_arm --cache-file=arm-none-linux-gnueabi.cache freetype编译 export LDFLAGS=" -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g  -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include"   ./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux --prefix=/home/parson/project/podium/directFB/freetype-2.4.3/__install --without-zlib dbus编译 export LDFLAGS="-L/home/parson/project/podium/expat-2.0.1/__install/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g  -I/home/parson/project/podium/expat-2.0.1/__install/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include"   ./configure --host=arm-linux --prefix=/home/parson/project/podium/dbus-1.5.8/__install --host=arm-linux --build=i686-pc-linux CC=arm-none-linux-gnueabi-gcc CCAS=arm-none-linux-gnueabi-as AR=arm-none-linux-gnueabi-ar LD=arm-none-linux-gnueabi-ld --host=arm-linux --cache-file=arm-linux.cache --without-x   DirectFB编译 注意顺序 export LDFLAGS="-L/home/parson/project/podium/zlib-1.2.3/__install/lib -L/home/parson/project/podium/glib-2.22.4/__install_arm/lib -L/home/parson/project/podium/directFB/freetype-2.4.3/__install/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g -I/home/parson/project/podium/directFB/freetype-2.4.3/__install/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include"   ./configure CC=arm-none-linux-gnueabi-gcc CCAS=arm-none-linux-gnueabi-as AR=arm-none-linux-gnueabi-ar LD=arm-none-linux-gnueabi-ld --host=arm-linux --prefix=/home/parson/project/podium/directFB/DirectFB-1.2.10/__install --with-gfxdrivers=none --with-inputdrivers=all --enable-png=yes --enable-jpeg=yes --enable-zlib=yes --enable-sdl=no --enable-gif=yes --disable-x11 --enable-vnc=yes --enable-debug=yes --enable-debug-support=yes   directvnc编译 ####################4.3.3################################# export LDFLAGS="-L/home/parson/project/podium/directFB/DirectFB-1.2.10/__install/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/thumb2/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/var/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib -L/usr/local/arm/4.3.3/arm-none-linux-gnueabi/lib -L/usr/local/arm/4.3.3/lib" export CFLAGS="-g -I/home/parson/project/podium/directFB/DirectFB-1.2.10/__install/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/include -I/usr/local/arm/4.3.3/arm-none-linux-gnueabi/libc/usr/include -I/usr/local/arm/4.3.3//arm-none-linux-gnueabi/libc/armv4t/usr/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/include -I/usr/local/arm/4.3.3//lib/gcc/arm-none-linux-gnueabi/4.3.3/install-tools/include"