1. ホーム
  2. クライアント
  3. IOS

[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。

2022-01-22 23:50:58

最近、このコンパイルエラーがよく出るんです。 ld: アーキテクチャ x86_64 のシンボルが見つかりませんでした。

<スパン

このエラーについて、ネット上では、依存ライブラリが足りないというものや、Build Setting--> Linking--> Other Linker Flags add-licucoreというものがありますが、どれも問題を解決できず、ようやく、足りないファイルへの参照というものを見つけたのですが、どのファイルが足りないんでしょうか?

この問題の原因は、プロジェクト内の静的ライブラリか、ファイルの参照先が不明である可能性があります。

<スパン 1. プロジェクトに静的ライブラリが含まれている

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

<スパン <スパン 2. ファイルリファレンスの欠落

エラーメッセージ ""_OBJC_CLASS_$_FMDataBase",referenced from:" から、FMDataBase ファイルへの参照が欠落していることが明らかです。

<スパン 解決策

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

<スパン <スパン

再度コンパイルすると、エラーが消える...。

<スパン 3. 欠落しているファイル

上記で解決しない場合は、プロジェクトにファイルがない可能性があります。通常、SVNからコードを更新する場合、ローカルリポジトリに更新されますが、時には手動でプロジェクトプロジェクトに対応するファイルを導入する必要があります。同様に、から ""_OBJC_CLASS_$_FMDataBase",referenced from:" FMDataBase ファイルがないことが分かります。

<スパン <スパン 左側のファイルのリストで、右クリック - >選択 "Add Files to ... "、不足しているファイルを見つけ、それを選択し、それを追加します

<スパン <スパン 追記:見つからない場合は、ファイルを作成した人にどのフォルダの下に置くか聞いてみてください...。

<スパン <スパン

<スパン <スパン