3

libtoolを介したxcodeとコマンドラインを介したarを使用してMac10.5で静的ライブラリを作成すると、どちらもlibMainProject.aファイルが生成されますが、libtoolによって生成されたファイルを使用してxcodeアプリケーションにリンクしようとすると、次のような複数のメッセージが表示されます。

"参照元のproject1のvtable:_ZTV27project1 $ non _lazy _ ptr in libMainProject.a(project1.o)"

arを使用すると、まったく問題なく、正しくリンクされます。リンク中にlibtoolに-cオプションを追加しようとしましたが、影響はないようです。だから私の2つのオプションは

1)arバージョンとlibtoolバージョンのシンボルの違いの原因を突き止め、libtoolに同じ情報を生成させます。

2)静的ライブラリを生成するためにxcodeがlibtoolの代わりにarを使用するようにします。

任意のアイデアや提案をいただければ幸いです。

前もって感謝します。

4

1 に答える 1

1

静的ライブラリを。でアーカイブ解除することをお勧めしarます。*.oあなたはファイルで終わるでしょう。次に、gobjdump(MacPorts / fink / homebrewから自分でインストールする必要があるかもしれません)を使用して、*.oファイルの内容を確認し、2つのバージョンを比較します。

于 2010-01-07T00:58:23.223 に答える