0

当我尝试在 cygwin Windows 7 中编译 Object-c 程序时出现此错误,但该程序在 Xcode 中执行。

main.m:5:3: error: 'NSString' undeclared (首先在这个函数中使用)

#include <stdio.h>    
int main (int argc, const char * argv[]) 

  {
        NSString *str1 = @"1st string";
        NSString *str2 = @"2nd string";         
        NSLog(@"Hello, World!");    
    return 0;
}

在 cygwin 中使用以下 CMD 执行,

gcc -c -Wno-import main.m

你能帮我解决这个编译错误吗?

4

2 回答 2

3

Windows 不附带 Foundation 库,因此NSString默认情况下不可用。您应该尝试使用GNUstep ,或者您可以在 Mac 上使用Cocotron从 Xcode 进行交叉编译。无论您选择哪种方式,请查看其文档以了解如何使用它(至少您需要#import <Foundation/Foundation.h>链接 Foundation 库)。

于 2012-04-30T10:49:12.037 回答
0

确保在 .h 或 .m 文件的顶部有以下代码:

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

您也可以将代码放在 Prefix.pch 文件中。

于 2012-04-30T11:59:16.230 回答