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