2012-07-19 19 views
24

コンパイル時にエラーが発生しました。奇妙に思える詳細ビューアプリケーションとして機能しましたが、単一のビューを使用しても機能していないようです。 これはエラーの詳細です:リンカコマンドエラー: 'ld:アーキテクチャi386でシンボルが見つかりません'

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_RssArticle", referenced from: 
     objc-class-ref in RssXmlParser.o 
    ld: symbol(s) not found for architecture i386 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

はXcode 4.3を使用していますか? –

答えて

57

は、次の手順をお試しください:

  1. は、Xcodeでプロジェクトを開きます。

  2. XCodeの左側のウィンドウ/パネルに、プロジェクト名を上にクリックします。

  3. XCodeの右側のパネルからターゲットを選択します。

  4. 右パネルの上部から[ビルドフェーズ]を選択します。 (ビルド設定、ビルドルール)

  5. 同じパネルで、[ソースをコンパイル]を開き、ここにチェックを入れます:すべてのファイル(.m)がリストされていますか?いないすべてのファイルが、それはないがRssXmlParserを思わあなたのエラーを1としてリスト

  6. にされていない(.m)ファイルを追加するには、下部に(+)記号をクリックした場合、これを追加し、再び

をコンパイル今はうまくいくでしょう。

+0

これはどのバージョンのX-Codeで動作しますか?私は右のターゲットを見つけることができないようです... –

+1

@CameronTarbell XCode 5.1では、次のようになります。http://i.imgur.com/G7OCboX.png – Glide

+0

@iOSTest同じ問題が発生しました。しかし、なぜこれが起こるのか知りたい。 – Glide

0

コンポーネントを別々のプロジェクトとして作成したため、同じ問題が解決しました。メインプロジェクトにフォルダを追加した後、インポートされたコンポーネントグループディレクトリから.plist、.string、および余分なmain.mファイルを削除するのを忘れました。アプリは明らかに...

0

を競合ビルドコマンドを取得したため、これらを削除する

は、私は(私は、エディタのメニューからコアデータに自動的にNSManagedObjectContextのサブクラスを作成していた)ファイル名を重複するため、このエラーが発生しました、私の問題を解決しました。 XCODE 5.0のよう

、あなたが私の場合は、左側のペイン

2

で黄色の警告をクリックするだけで終了して再起動して、Xcodeのは、このことを認識し、あなたのためにそれを修正する必要があり、私は誤っての新しいサブクラスを作成と.h.cのファイルの代わりに.h.mのファイルを使用してください。拡張機能を変更するのは簡単でしたが、.mファイルの内容を変更するとは思いませんでした。だから私の.hファイルが

#ifndef My_Project_MPMyView_h 
#define My_Project_MPMyView_h 

#import <UIKit/UIKit.h> 

@interface MPMyView : UIView 

@end 

#endif 

を持っていた私は、リンカエラーが修正されました

@interface MPMyView : UIView 

@end 

@implementation MPMyView 

@end 

に私の.mファイルを変更した場合、私の.mファイルが誤っ

#include <stdio.h> 

を持っていました。

13

私は、.xcodeprojファイルの代わりに.xcworkspaceファイルを使用しなければならないことに気付きました。

+1

うわー、今は非常に馬鹿だと感じます。 – Machado

+0

ああ私の神。それは働いた...しかし、なぜ? – Fomentia

+0

これは私のためにうまくいきましたが、なぜか知りたいのです。説明は? – Phantomazi

0

Xcode 6.4でも同じようなエラーが発生しました。 Xcodeのバグのようです。

解決策は、エラーの原因となった「.o」ファイルに移動し、必要なターゲットメンバーシップのチェックを外して再確認することでした。

7

製品 - >その後、クリーン製品 - >ファイル名を指定して実行:)

0

私はそれはあなたが一つのプロジェクトで(メイン機能付)二つの異なる.Cファイルを作成しようとしているということかもしれないと思います。 Cでは、プロジェクトごとに1つのメインエントランスしか持てません。

26

は、誰もが詳細なエラーを確認するために、端末に移動し、プロジェクトがあるディレクトリに移動し、

xcodebuild -verbose

を実行するように示唆してちょうどエラーを読んで見に多くの時間を助けていない

+0

これはまさに答えではありませんが、この+選択された答えは私の問題を解決するのに役立ちました!個人的には、私は.mファイルのリストに2つのプラグイン.mファイル(同じ目的を果たしました)を持っていました。私は1つを削除し、それをもう一度構築し、それが問題を解決しました。 –

0

私はそれがどのように働いたのかわかりません。しかし、私は単にxcodeを閉じ、xcworkspaceファイルをクリックして再び開き、私のために働きました。うまくいけば、これはあなたの問題を解決することができますありがとうございます。

0

altを押し続けます。トップツールバー は

製品>クリーンビルドフォルダ

を押して「クリーンビルドフォルダ」に移動し、それをビルドして実行するのを待ちます。 ビルドファイル内のエラーを解決する必要があります。

関連する問題