logo       

[ruby-list:42104] intern.hのeaccessとunistdのeaccessがコンフリクト?: msg#00135

lang.ruby.japanese

Subject: [ruby-list:42104] intern.hのeaccessとunistdのeaccessがコンフリクト?

こんにちは、Rubyを組み込んだコンソールの2画面ファイラを作っている湊と申します。

the Minnu's Filer2 http://www.geocities.jp/daisuke530221jp/

このソフトは一部C++で書かれているんですが、そのコンパイルをFedora Core5で行うと
C++ソースからruby.hをincludeしている所でコンパイルエラーが出ます。

Fedora Core5のunistd.hにはeaccess(const char*, int) __THROW;が定義さているらしくて
それがintern.hのeaccess(const char*, int)とコンフリクトを起こしているみたいです。

(C++のソースからincludeしているのでunistd.hのeaccessでは__THROWがthrow()に展開されて
eaccess(const char*, int) throw ();になるのに対して
intern.hのeaccessでは__THROWの指定がないので再定義エラーになる)

rubyのバージョンは1.8.4を使っています。

--
湊大典 minato.daisuke-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx
「深遠を覗き込むときには、深遠に飲み込まれない ように気をつけなければならない。深遠を覗き込むとき、深遠もこちらを覗いているのだ」 -- ニーチェ




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise