Toshihiro KAMISHIMA
toshi****@kamis*****
2004年 10月 14日 (木) 01:57:51 JST
羽室先生 神嶌です お世話になっています 羽室> MacOSでコンパイルを試みてはいるのですが、一筋縄ではいかないようです。 羽室> どなたか情報をお持ちであればお知らせ願います。 羽室> どうもlibtoolに問題がありそうです。 一応,やっつけで MacOS X 10.3.5 でコンパイルはとおりました. 修正点は,lib/include/musashi/mssOption.h の struct OptSEL { を static struct OptSEL { とすれば,"static と宣言しているが使ってないよ" エラーが多発しますが,コンパ イルできました. MacOSXのdynamic ライブラリですが,Linuxなどはプログラムをロードしたときに, 関数の呼び出しアドレスの割り当てを全部やってしまう(ですよね?)のですが, Photoshopなどの超重量級アプリだと起動に時間がかかってしまうので,この割り当 てを実際に関数を呼び出すまで先延しににするらしいです.そのせいで,大域シンボ ルのコンフリクトにはうるさくなっているらしいです. こちらのOptSELはstatic がなくオブジェクトのローカルではなく大域変数として, 複数のオブジェクトで定義されています.そのせいで,同じ名前で定義された大域変 数がたくさん見えるので,リンクするときどれをリンクすべきかよくわからないと言っ ているようです. 抜本的な解決としては .h ファイルは定義だけ書き,ライブラリ内に一つ大域変数と して struct OptSEL の領域を確保するのが正攻法のような気がします. それでは失礼します. --- 神嶌 敏弘 Toshihiro KAMISHIMA e-mail: toshi****@kamis*****