私は基本的にいくつかのほとんど同じターゲットに組み込まれた単一のアプリケーションであるXcodeプロジェクトを持っています。ほぼすべてのビルド設定を中央の場所で行っていますが、静的ライブラリ(libMantle.a)をxcconfigにリンクする方法を理解することはできません。私は-framework
と-l
フラグを試しました。私はさまざまな他のライブラリに使用していますが、動作しません。 .aファイルをLink Binary with Librariesペインから取得する方法があるので、すべてのターゲットを手動で同期させる必要はありませんか?バイナリをxcconfigの静的ライブラリとリンクする
5
A
答えて
2
は
は、あなたがファイルlibGoogleAnalyticsServices.a
にリンクしたいとしましょう...それを考え出しました。 .xcconfigには、基本的に3つの作業が必要です。
まず、検索パスにライブラリへのパスがあることを確認します。次に、に2つのフラグを渡して、リンカーを幸福にする-L
ディレクトリへのパスと、-l
のライブラリへのパスを渡す必要があります。一緒にすべてを置く
はあなたのようなものでしょう:
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)/Vendor/Google Analytics"
OTHER_LDFLAGS = $(inherited) -L"$(SRCROOT)/Vendor/Google Analytics" -lGoogleAnalyticsServices
(あなたはあなたの相対パスを調整する必要があります)
を、これは整理ばかりで最も有用なものは、ログインしましたナビゲータ(コマンド+ Xcodeで8)。ビルドフェーズパネルにスタティックライブラリを配置し、ビルドを成功させることで、ログ内のリンカステップの詳細を確認し、どのようにアナライザライブラリをコンパイラに渡していたかを確認できます。そこから、xcconfigのフラグを複製するだけです。
関連する問題
- 1. 他の静的ライブラリにリンクする静的ライブラリに動的ライブラリをリンクする
- 2. Qt:ライブラリの静的リンク
- 3. Qtサードパーティ製ライブラリとの静的リンク
- 4. Android NDK、2つの静的ライブラリとリンク
- 5. C++/cmakeで静的ライブラリをリンクする
- 6. golangミスが静的ライブラリをリンクする
- 7. Xcodeで静的ライブラリをリンクする
- 8. プロジェクトにSFML静的ライブラリをリンクする
- 9. ライブラリを静的にリンクする
- 10. 静的ライブラリをクラスライブラリプロジェクトにリンクする
- 11. Xcode静的ライブラリGLFW 3.3にリンクする
- 12. 静的リンクされたvips(libvips)バイナリ
- 13. 静的にリンクされたバイナリ - セグメンテーションフォールト
- 14. カスタムフレームワーク:ライブラリとバイナリをリンクする
- 15. は適切C数学ライブラリと静的ライブラリをリンク
- 16. Xcode 4でのBoostライブラリの静的リンク
- 17. iPhone SDK 3.0の静的ライブラリのリンク
- 18. WindowsでのGTK +ライブラリの静的リンク
- 19. 静的なC++ライブラリをCライブラリにリンクする
- 20. eclipseで静的ライブラリとしてglew.libをリンクする
- 21. AndroidのJNI共有ライブラリに静的ライブラリをリンクします。
- 22. poco C++ライブラリ/ MTエラー付き静的リンク
- 23. 同じライブラリを静的および動的にリンクする
- 24. 静的ライブラリ内の静的ライブラリ
- 25. ビルド中に静的ライブラリを共有ライブラリにリンクしますか?
- 26. 静的ライブラリの静的メンバー
- 27. XCodeで静的ライブラリの静的ライブラリを作成する
- 28. 他のライブラリを使用する静的Cライブラリをリンクする方法
- 29. libtoolを使用するときに静的ライブラリとのリンクを避ける
- 30. リンカエラー静的ライブラリと
さまざまなターゲットのソースファイルをどのように扱うか尋ねることができますか? xcconfigファイルにも追加しますか?それも可能ですか? – vinzenzweber
ターゲット固有のxcconfigファイルは、本当にうまくいっていないので、かなり面倒です。しかし、私はターゲットのライブラリ依存性が大きく異なるプロジェクトはほとんどありません。具体的に何をしようとしていますか? – farski
私は9つのターゲットを持つプロジェクトを持っています。私はターゲットごとに1つのプリプロセッサマクロを設定するだけで、それらのターゲットが必要です。主に、さまざまな環境(開発、ステージング、プロダクション)の基本API URLを変更します。ですから、コピーするすべてのソースファイルとリソースを含むベースビルド構成を指定する単一のファイルが必要です。 – vinzenzweber