zoukankan      html  css  js  c++  java
  • swftools使用

    为了支持gif转swf以及pdf转swf。编译swftools过程中遇见几个问题,记录一下。


    首先下载swftools:http://www.swftools.org/

    它依赖几个包,这里我使用的版本:freetype-2.6、mozjpeg-2.1(替代libjpeg)、giflib-5.1.1

    下载好这几个依赖包,分别进行编译,没有问题为止。

    然后进行编译swftools:

    ./configure --prefix=/opt/baoquanwang/third_partylib/swftools-2013-04-09 CPPFLAGS='-I/opt/baoquanwang/third_partylib/freetype-2.6/include/freetype2 -I/opt/baoquanwang/third_partylib/mozjpeg-2.1/include -I/opt/baoquanwang/third_partylib/giflib-5.1.1/include' LDFLAGS='-L/opt/baoquanwang/wbqlibs/lib/ -Wl,-R/opt/baoquanwang/wbqlibs/lib/'

    这里我把所依赖的三个库都复制到了lib这一个文件夹里。

    编译出现两个大问题:

    1, gif2swf.c:233:5: error: too few arguments to function : 'DGifOpenFileName'    'DGifCloseFile'

    2, Undefined reference function : 'PrintGifError'

    对于第一个问题,看了看giflib源码中'DGifOpenFileName'    'DGifCloseFile'两个函数的定义发现多了一个参数Error,与是直接加上就可以了:

    502 int Error;//Add a para.
    503 if ((gft = DGifOpenFileName(s, &Error)) == NULL) {
    ………
    533 DGifCloseFile(gft, &Error);

    第二个问题,发现在giflib/util/qprintf.c中函数PrintGifError也是加上了Error输出的订制参数,

    这里试了各种办法怎么都链接不到,最后直接在gif2swf中加上这个函数:

    //Add a function. 2015-08-18.
     69 //Same as fprintf to stderr but with optional print.
     70 void
     71 PrintGifError(int ErrorCode) {
     72      const char *Err = GifErrorString(ErrorCode);
     73 -
     74      if (Err != NULL)
     75          fprintf(stderr, "GIF-LIB error: %s.
    ", Err);
     76      else
     77          fprintf(stderr, "GIF-LIB undefined error %d.
    ", ErrorCode);
     78 }

    解决。

  • 相关阅读:
    servlet中Cookie的编码问题
    servlet关于转发用法
    eclipse界面更改为黑色
    猜字符小游戏——可以设置等级
    uva 10655
    uva11029
    UVA11388 GCD LCM1 2 -1
    uva 11609
    poj 2436
    poj 2431
  • 原文地址:https://www.cnblogs.com/tingfengainiaini/p/4739722.html
Copyright © 2011-2022 走看看