Taku Kudo
taku****@chase*****
2009年 3月 29日 (日) 18:09:00 JST
工藤です anonymous namespace にある open という関数と、MeCab namespace にある 同一の名前の関数がコンフリクトしているみたいです。 ちゃんと ::open と anonymous namespace を指定してるんですけどね... 名前を変更したので、おそらくコンパイルが通ると思います。 ご報告ありがとうございます。 工藤 2009/03/16 14:45 Hiroaki Kawai <hiroa****@gmail*****>: > 川井と申します。 > > 0.98 での問題というわけではなく、0.97 からそうだったのですが、 > Sun のコンパイラでコンパイルできませんでした。 > -bash-3.2$ uname -a > SunOS testbed 5.11 snv_79a i86pc i386 i86pc > > 停止する位置は src/Makefile で、 > > libtool: compile: CC -DHAVE_CONFIG_H -I. -I.. -DDIC_VERSION=102 > -DMECAB_USE_UTF8_ONLY > -DMECAB_DEFAULT_RC=\"/home/hawk/mecab/etc/mecabrc\" -g -c > context_id.cpp -KPIC -DPIC -o .libs/context_id.o > "context_id.cpp", line 84: Error: Formal argument 2 of type int in > call to open(const char*, int, ...) is being passed > std::map<std::string,int>*. > "context_id.cpp", line 85: Error: Formal argument 2 of type int in > call to open(const char*, int, ...) is being passed > std::map<std::string,int>*. > 2 Error(s) detected. > *** Error code 1 > make: Fatal error: Command failed for target `context_id.lo' > > で停止します。C++ の名前空間まわりの気がしますが、私自身がC++についてよくわかっていないので > ここで止まっています。 > > 手元の Sun Solaris の環境では $CC は cc に、$CXX は CC になりますが、環境変数を指定して > $CC を /usr/sfw/bin/gcc に、$CXX を /usr/sfw/bin/g++ にするとビルドできます。 > > > 2009/03/09 0:40 Taku Kudo <taku****@chase*****>: >> 工藤です >> >> mecab-0.98pre1 を公開します。 >> >> http://mecab.sourceforge.net/ >> >> mecab 0.98 のプレリリース・リリースキャンディデートという位置づけです。 >> >> - Shift-JIS環境で半角カタカナの扱いに問題があったのを修正 >> - online learning のサポート (実験的) >> - Wno-deprecatedをつけなくてもコンパイルできるようにした >> - 細かいバグの修正 >> >> 1ヶ月ぐらいころがしておきます、ビルドエラーなどがあれば >> ご報告ください。 >> >> くどう >> >> _______________________________________________ >> mecab-users mailing list >> mecab****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/mecab-users >> > > _______________________________________________ > mecab-users mailing list > mecab****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/mecab-users >