ホーム DoRuby swfmillのインストール(makeのところ)でエラーがでた

swfmillのインストール(makeのところ)でエラーがでた

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

最近Flash Liteを使うことになり、動的なFlash Lite作成のために、swfmillを入れることになりました。

インストールして、いざmake!というところで、エラーがでましたので、
その解決方法をご紹介します。

==============================
インストール環境:Ubuntu 9.04
swfmill:0.2.12
gcc:4.3.3
==============================

  1. swfmillをダウンロードします。
    # wget http://swfmill.org/releases/swfmill-0.2.12.tar.gz
    # tar xzf swfmill-0.2.12.tar.gz
    # cd swfmill-0.2.12
  2. ビルドします。
    # ./configure
  3. makeします。# make
    Making all in src
    make[1]: ディレクトリ `/usr/local/src/swfmill-0.2.12.2/src’ に入ります
    make  all-recursive
    (省略)
    swft_css.cpp: In function ‘void parse_color(std::string, CSSColor*)’:
    swft_css.cpp:25: warning: format ‘%x’ expects type ‘unsigned int*’, but argument 3 has type ‘unsigned char*’
    swft_css.cpp: In function ‘void swft_unit(xmlXPathParserContext*, int)’:
    swft_css.cpp:197: error: ‘strcmp’ was not declared in this scope
    make[3]: *** [libswft_la-swft_css.lo] エラー 1
    make[3]: ディレクトリ `/usr/local/src/swfmill-0.2.12.2/src/swft’ から出ます
    make[2]: *** [all-recursive] エラー 1
    make[2]: ディレクトリ `/usr/local/src/swfmill-0.2.12.2/src’ から出ます
    make[1]: *** [all] エラー 2
    make[1]: ディレクトリ `/usr/local/src/swfmill-0.2.12.2/src’ から出ます
    make: *** [all-recursive] エラー 1

    エラーになってしまいました。残念です。

    調べてみましたところ、gcc 4.2以前とgcc 4.3のバージョンの違いに問題があるようでした。
    yamcha 0.33 が fedora 9 (gcc 4.3) で make できない、そんなとき エラーを出しているファイルに #include <string.h>を追加しないとだめなようです。
    (gccをバージョンダウンさせてもよさそうです。)
    というわけで、swft_css.cppに書き込みます。
     何回か同じエラー(でもエラーを出しているファイルは変わっている)が出ますので、
    エラーを出しているファイルに次々と#include <string.h>を加えてmakeしていきます。
    最終的には通ります。
    これで入りました。
  4. make installします。
    # make install

確認してみます。$ swfmill

swfmill 0.2.12.2
     XML-based SWF (Shockwave Flash) processing tool

入りました。

記事を共有

最近人気な記事