XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
今日はXCode 4.5.1をXCode 4.6.1にアップグレードして、iPhone 4とiPhone 5をつないでデバッグしてみました(元々はiPhone 4のみで開発したものです)。
iPhone4を選択すると、正常にコンパイルできます。
しかし、iPhone 5は次のようなエラーでコンパイルされます: clang: error: linker command failed with exit code 1 (use -v to see invocation)
ずっとネットで解決策を探していて、以下の方法でうまくコンパイルできるのですが、どういう意味があるのかよくわからないので、専門家の方にご指導をお願いします。(qq:274010315)です。
I.
Valid Architecturesの値をarmv7に変更する。
処理します。
PROJECT --> Build Settings --> Architectures --> Valid Architectures 彼の値はもともと armv7 armv7s で、armv7s を削除するだけです。
同じことをする
TARGETS --> Build Settings --> Architectures --> Valid Architectures 同じように変更します。
II.上記の変更でうまくいかない場合、続ける
PROJECT --> Build Settings --> Architectures --> Build Active Architecture Only の値を No に変更します。
<スパン 同じ操作
TARGETS --> Build Settings --> Architectures --> Build Active Architecture Onlyの値をNoに変更します。
はエラーのクラスで、エラーメッセージの最後の行で、通常は次のようになります。
<スパン コマンド /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang は、終了コード 1 で失敗しました。
リンカコマンドは終了コード 1 で失敗しました (-v を使用して起動を確認します)
このエラーは、私はサードパーティ製のライブラリ(SBJsonなど)を使用したいときに、私は直接プロジェクトのディレクトリにライブラリファイルをコピーして、このようなエラー(必ずしもこのようなエラー)をコンパイルし、ライブラリがオンライン自体をダウンロードしたと思うようになった、複数回発生しているようなので、それを追加する新しいライブラリまたは他の方法を見つける。限り、行にエラーがないだけでなく、私は問題のルートを理解していない、プロジェクトで今日FMDB(SQLIteサードパーティ製のクラスライブラリ)ファイルを追加するには、最初にプロジェクトの問題を考え、再びこのエラーをコンパイルしますが、新しいプロジェクトの後にまだこの問題は、オンライン見た後、解決策を得た表示されます。
- <スパン 未定義のシンボル に対して アーキテクチャは i386 です。
- <スパン OBJC_CLASS_$_FMDatabase"。 から参照される。
- オブジェック クラス -ViewController.o内の参照
- ld: シンボルが見つかりません に対して アーキテクチャ i386
- clang: error: linker command failed with exit code 1 (use -v to see invocation) リンカーコマンドは終了コード1で失敗しました。
ウェブで得た解決策は:
作業用左ナビゲーションバーTarget-->Build Phases-->Compile Sourcesに第3のライブラリリポジトリのすべての.mファイルを追加すると、コンパイルが通ります。
<スパン .mファイルの追加
FMDBTestでの比較からわかるように、いくつかの.mファイルがFMDBTestのTargetに追加されています。
<スパン 上記のエラーについて、Webの回答による私の理解では
これらのサードパーティのライブラリファイルを使用する場合、プロジェクトに直接ドラッグ&ドロップするため、Xcodeがコンパイル時に自動的に参照しないため、このエラーが発生し、手動で追加する必要があるのです。プロジェクト内に新しいファイルを作成すれば、この問題は発生しません。
http://blog.hsin.tw/2012/ios-dev-undefined-symbols-for-architecture-i386/ をご参照ください。
関連
-
libc++abi.dylib が NSException 型の捕捉できない例外で終了する理由 エラー
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
[エラー処理】iOSのエラー、アーキテクチャx86_64の未定義シンボルについて
-
iOS classic error Undefined symbols for architecture XXX:
-
制御が非ボイド関数の終了に達する
-
dyld: ライブラリがロードされていません。エラーの解決
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例