[MUSASHI-users 389] Re: MUSASHI-CORE-1.0.4-pre4

アーカイブの一覧に戻る

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*****



MUSASHI-users メーリングリストの案内
アーカイブの一覧に戻る