2009-07-27 13 views
0

これは私にとって初めてのものです。 RootViewController.oが何であるか分かりませんか?このプロジェクトには.m & .hがあります。シミュレータ3.0用のビルド。ビルド前にクリーンアップ(Shift-⌘-K)。Xcodeリンクのビルドエラー

最近、RootViewControllerも持っている別のプロジェクトのクラスをいくつか追加しましたが、古いものを転送しませんでした。それ以来構築していない。これは問題の一部になる可能性がありますか?

ビルターゲット「のMyApp」プロジェクトの構成で「MyAppの」「デバッグ」 - (1つのエラー)

cd "/Volumes/MacHD/Development/iPhone/MyApp" 
    setenv MACOSX_DEPLOYMENT_TARGET 10.5 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk -L/Volumes/MacHD/Development/iPhone/MyApp/build/Debug-iphonesimulator -F/Volumes/MacHD/Development/iPhone/MyApp/build/Debug-iphonesimulator -filelist /Volumes/MacHD/Development/iPhone/MyApp/build/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -o /Volumes/MacHD/Development/iPhone/MyApp/build/Debug-iphonesimulator/MyApp.app/MyApp 
Undefined symbols: 
    ".objc_class_name_MyViewController", referenced from: 
     [email protected][email protected][email protected] in RootViewController.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

ビルドに失敗しました(1つのエラー)


編集:きれいにされたすべてのターゲット...まだ構築されません。ここに私の#includeです:

RootViewController.h

#import <UIKit/UIKit.h> 
#import "MyViewController.h" //tried with this and as @class MyViewController 

@class AddViewController, EditingViewController; 

@interface RootViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { 
    MyViewController *myVC; 
    UINavigationController *navController; 
    AddViewController *addViewController; 
    NSArray *keys; 
    NSNumberFormatter *currencyFormatter; 
} 

はRootViewController.m:

#import "RootViewController.h" 
#import "MyAppDelegate.h" 
#import "MyViewController.h" 
#import "AddViewController.h" 
#import "EditingViewController.h" 
#import "MyObject.h" 
#import "ViewCell.h" 
#import "AppColors.h" 
#import "CustomCellBackgroundView.h" 

// Manage the editing view controller from this class so it can be easily accessed from both the detail and add controllers. 
static EditingViewController *__editingViewController = nil; 

@implementation RootViewController 

答えて

2

RootViewController.mには、MyViewControllerのどこかに参照がありますが、ファイル内に@implementation MyViewControllerというリンクがありません。 RootViewController.oは、RootViewController.mをコンパイルして作成されたオブジェクトファイルです。

+0

:答えは答えの一つ上のコメントでありますこんにちはロブ、もう一度お手伝いをありがとう私はRootViewController.m内からMyViewController.h(MVC)をインポートします。 (RVC)と私は@クラスMVCとRVC.h内から#import MVC.hを試してみました。この「シンボルが見つかりません」とはどういう意味ですか?コンパイラが「シンボル」とは何を話していますか? – Meltemi

+1

Meltemi:あなたは前処理について話していますが、これはリンクとは完全に別です。 '#import'はリンクとは関係ありません。 MyViewController.mがターゲットに追加されていることを確認する必要があります。 –

+0

それはそれをしました!ありがとう!前にそれをしなければならなかった...生きて学ぶ... – Meltemi

1

構築する前にすべてのターゲットをきれいにしてみてください。これでうまくいかなければ、RootViewController.hと.m、特に#includeのコードを投稿してください。 .o拡張子は、コンパイラによって作成されたオブジェクトファイルを参照します。

+0

でチェックされていることを確認し – Meltemi

1

「クラス」グループを選択するとファイルリストをチェックインすることもできます。 .mファイルの横にあるチェックボックスを有効にする必要があります(XCodeにファイルのコンパイルとリンクを指示します)。特に、既存のファイルを追加...コマンドを使用して追加する必要があります。

0

この問題がありました。 ...「クラス」グループを選択して、すべてのあなたの.mファイルのチェックボックスは、あなたが今以上含まれて見つけることができる「ターゲット」欄