0

特定のプロジェクト (特に libtool を使用してビルドをセットアップするプロジェクト) を UNIX ベースのシステムの共有ライブラリとしてクロス コンパイルする場合、出力は通常、共有ライブラリのすべてのバージョン情報標準を含む *.so.xyz ファイルです。

残念ながら、いくつかのプラットフォーム、特に BlackBerry と Android では、アプリケーション パッケージ内の soname のバージョン管理とシンボリック リンクが適切に機能しません。

バージョン管理なしで共有ライブラリをビルドするようにビルド ツールに指示できるのが理想ですが、これは非常に困難で時間のかかる作業であることがわかりました。一部のプロジェクトでは、バージョン管理をまったく防止する方法を理解できませんでした。プロジェクトのビルド スクリプトで変数をいじると、何かを黙って壊したり、予期しない動作を引き起こしたりすることもあります。

一連の共有オブジェクト バイナリがビルドされた後、これらのバージョン管理情報をすべて削除する方法はありますか?

4

1 に答える 1

0

はい、ここで説明されているように追加することで無効にすることができます: -avoid-versionGNU Autotools: バージョン情報なしで再構築<your library>_LDFLAGS

于 2013-11-08T19:10:37.570 に答える