2017-07-19 14 views
0

Xcodeの外で、私のXcodeプロジェクトで使用したい静的ライブラリを構築しました。私はライブラリを追加し、それはBuild Phases - > Link Binary With LibrariesとGeneral - > Linked Frameworks and Librariesの下に表示されます。Xcode std :: __ 1 :: basic_ostream undefined symbol

私も一般的に以下を追加した - >リンクされたフレームワークとライブラリ:。

  • をlibcの++未定
  • をlibbz2.tbd私も追加した

をlibc.tbd [ビルド設定] - > [その他のリンカ]フラグの次のフラグ:

  • -ObjC
  • -lz
  • -lbz2
  • -liconv
  • -lC++
  • -lstdC++

そして最後にビルド設定の下 - >アップルLLVM 8.1 - 言語 - C++ - > C++標準ライブラリ libstC++(GNU C++標準ライブラリ)。

だから私は、これは私が必要なすべてだと思ったが、私が構築しようとしたとき、私はコンパイルエラーを取得:アーキテクチャarm64用

未定義のシンボルを: 「のstd :: __ 1 :: basic_ostream> &のstd :: __ 1: :operator < <、std :: __ 1 :: allocator>(std :: __ 1 :: basic_ostream> &、std :: __ 1 :: basic_string、std :: __ 1 :: allocator> const &) "から参照されています。

私には、C++ 11の標準ライブラリが正しくリンクされておらず、静的ライブラリにそれが必要なようです。

私はここで何が欠けていますか?

答えて

0

私の解決策は静的ライブラリを変更して、標準ライブラリをその内部に組み込むことでした。 これは静的なライブラリであり、動的なライブラリではないため、内部的に依存関係を調べたり、外部にリンクされている場合でも依存関係を探すようになっていると思います。

関連する問題