1. ホーム
  2. プログラミング言語
  3. その他

ld: アーキテクチャ x86_64 用のシンボルが見つからないエラーの解決

2022-01-22 21:34:49

最近よくこのコンパイルエラーが出ます: ld: symbol(s) not found for architecture x86_64

エラー報告のスクリーンショット

この件に関しては、ウェブ上で多くのエラーが発生しています

I. 依存ライブラリがないとか、Build Setting->Linking->Other Linker Flagsに-licucoreを追加するとか書いてありますが、直りません。

次に、この問題の原因は、プロジェクト内の静的ライブラリにも起因している可能性があり、おそらくファイル参照不足が原因だと思われます。

1. プロジェクトにスタティック・ライブラリが含まれている

スタティックライブラリがエミュレータでのコンパイルをサポートしていない可能性があります。実機またはGeneric iOS Deviceを使用すれば、通常このエラーは発生しません。

2. ファイル参照の欠落

エラーメッセージ ""_OBJC_CLASS_$_RollInView",referenced from:" は、RollInView ファイルへの参照がないことを表します。

解決方法

Build Phases-->Compile Sources(items)で、エラーのある.mファイルを追加し、左下の"+"をクリック、ポップアップボックスでエラーのある.mファイルを見つけて選択、追加、足りないファイルを追加して、コンパイルすると、エラーが消えます......。


ファイルの追加

3. ファイルの欠落

上記の問題を解決しない場合は、プロジェクトが不足しているファイルは、通常、コードを更新するときに、コードがローカルリポジトリに更新されますが、時にはあなたが手動でプロジェクトプロジェクトに対応するファイルを導入する必要があります同じ、""_OBJC_CLASS_$_RollInView&quotから、参照:" RollInViewファイルが不足して見ることができます可能性があります。

左側のファイル一覧で、右クリック - > "ファイルを追加... "を選択し、見つからないファイルを探し、それを選択して追加します(そのファイルが作成されたフォルダでファイルを探します)。