Flexユーザーが使用できるようにAdobeFlex拡張機能内にパッケージ化したかなり大きなc++ライブラリがあります。そのANEは、MacOSやiOSを含むいくつかのプラットフォーム用にパッケージ化されています。Macでは、レガシー標準C ++ライブラリ()を使用してビルドすると、すべてがうまくいきますlibstdc++。もちろん、すぐにサポートされなくなる廃止されたライブラリにとどまりたくないので、現在のライブラリに切り替えましたlibc++。ライブラリ(.aファイル)はそのように正常に構築され、そのライブラリを呼び出すネイティブiOSアプリケーションも正常に構築されます。
ただし、adtANEを構築するAdobeツールは、有用なエラーメッセージなしで失敗するようになりました(Adobeツールの品質については始めないでください)。Unixプロセスに関するいくつかのトリックによりadt、OSリンカーを呼び出すことがわかりますld。同じ呼び出しを複製するとld、リンカーが未定義のシンボルのボートロードについて不平を言うことがわかります。すべて(またはおそらくほとんど)は標準C++ライブラリシンボルです。
実際、そのld呼び出しは-lstdc++、レガシーライブラリを参照するパラメータとして使用されます。libc++を使用することはlc++議論を意味すると思います。ただし、ld(明らかに)無関係なディレクトリの問題が原因で、このような変更を試みることは失敗しました。
adtでは、.aライブラリがレガシーライブラリではなく現在の標準C ++ライブラリを使用していることを確認する方法はありますか?adtその制限に対する賢明な回避策はありますか?より一般的にはadt、ツールのエラーメッセージを傍受して食べないように説得する方法(および一般的にはFlex Builder)はありますか?
どんな提案も歓迎します。これはXcode4.5.1を使用しています。