0

私は今、何日も私を夢中にさせているばかげた基本的な単純な問題で立ち往生しています!

ストーリーは次のとおりです。

  1. サードパーティのライブラリを使用すると、プロジェクトのビルドが停止します。
  2. このライブラリが使用され、正常にビルドされている別のサンプル プロジェクトがあります。
  3. "Project Build Settings""Target Build Settings"Xcodeの両方のビルド設定をすべて (文字通りすべて) チェックしましたが、すべて同じように見えます。
  4. 両方のプロジェクトのビルド設定のスクリーンショットを次に示します。

作業プロジェクト:ワーキングビルド設定

動作しないプロジェクト:ビルド設定が機能しない

  1. リンカー エラーのスクリーンショットを次に示します。 リンカ エラー 1 リンカ エラー 2 ここに画像の説明を入力
  2. すべてのlipo:can't open input fileエラーの質問とld: symbol(s) not found for architecture armv7エラーの質問を検索して見ましたが、どの回答もうまくいかないようです。Googleの検索結果だけを参考にしないでください。

  3. プロジェクトのクリーニング、ターゲットへのファイルの削除と再追加、両方のプロジェクトでリンクされたフレームワークの同期、派生データの削除、変更build active architecture only setting、および他の質問で提案された他の多くのことを試みました。

  4. 同じライブラリ ファイルが同じデバイスと Xcode および SDK で正常にコンパイルおよびリンクされているため、「arm64 などと互換性のある新しいバージョンのライブラリをベンダーに要求する」などの提案はしないでください。

  5. 私は OS X El Capitan で Xcode 7.1 を実行しています。プロジェクトを詳しく調べる必要がある場合は、TeamViewer アクセスを提供することもできます。

どんな助けも本当に感謝しています。私は本当にこれにこだわっています。

前もって感謝します。

4

1 に答える 1

2

Xcode は、C++ を使用してコンパイルされたソース ファイルを検出した場合、リンク時に標準の C++ ライブラリのみを含めます。これは、ライブラリがそのシンボルの一部を libc++ (または同様のもの) を使用して解決する必要がある場合、リンクの問題を引き起こす可能性があります。

回避策は、プロジェクトに空の .cpp ファイルを作成して、Xcode を騙すことです。(Objective-C++ ではリファクタリングが機能したことがないため、「実際の」クラスを .mm にするよりもそれを好みます。)

于 2015-12-06T12:30:52.503 に答える