[iOS error]Undefined symbols for architecture i386
Undefined symbols for architecture i386:
"someVar", referenced from:
- [SomeClass someMethod:] in SomeClass.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with code 1
"someVar", referenced from:
- [SomeClass someMethod:] in SomeClass.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with code 1
0
iQi - 面白いアプリを開発中
リンク時にシンボルが見つからない場合に発生します。
(1).hはimportしたが、frameworkをリンク対象に追加していないときに発生します。.hをimportすることでシンボルが解決されコンパイルは通りますが、ライブラリがないとリンクできず、エラーとなります。
PROJECT > Build Phase > Link Binary With Librariesでframeworkを追加します。
(2)インクリメンタル・コンパイルのため、変更のないソースはコンパイルされません。そのソースが参照する変数などが削除されると、コンパイル済みの.oをリンクするときに参照先がなく、エラーとなります。いったんcleanし、全ソースを再ビルドすると解消します。
(1).hはimportしたが、frameworkをリンク対象に追加していないときに発生します。.hをimportすることでシンボルが解決されコンパイルは通りますが、ライブラリがないとリンクできず、エラーとなります。
PROJECT > Build Phase > Link Binary With Librariesでframeworkを追加します。
(2)インクリメンタル・コンパイルのため、変更のないソースはコンパイルされません。そのソースが参照する変数などが削除されると、コンパイル済みの.oをリンクするときに参照先がなく、エラーとなります。いったんcleanし、全ソースを再ビルドすると解消します。