我在Linux(Ubuntu)中学习Objective-C,但是当我尝试编译需要Foundation头文件的应用程序时,我得到一个错误,说该文件无法找到,但我已经安装了GNUstep开发包(gnustep- devel的)。这是我的代码:
// Fraction.h
#import <Foundation/NSObject.h>
@interface Fraction: NSObject {
int numerator;
int denominator;
}
- (void) print;
- (void) setNumerator: (int) n;
- (void) setDenominator: (int) d;
- (void) numerator;
- (void) denominator;
@end
这是控制台日志:
ubuntu@eeepc:~$ gcc main.m -o frac -lobjc
In file included from main.m:3:
Fraction.h:2:26: error: objc/NSObject.h: No such file or directory
In file included from main.m:3:
Fraction.h:4: error: cannot find interface declaration for ‘NSObject’, superclass of ‘Fraction’
ubuntu@eeepc:~$
我需要做什么?
答案 0 :(得分:5)
GNUMakefile
makefile(参见here),然后我运行source /usr/share/GNUstep/Makefiles/GNUstep.sh
然后make
。
答案 1 :(得分:4)
GNUstep Windows安装流程
如果你正在下载任何版本的gnustep系统,请记住一件事,你必须为gnustep-core下载相同的版本。 例如,如果您已下载gnustep-setup-0.22.1-setup.exe,则必须下载gustep-core-0.22.1-setup.exe,否则您的代码将无法运行。
#import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"Anil Kumar Yadav has Run the First Objective C program!"); [pool drain]; return 0; }
将其保存为C:/ GNUstep / home / foldername中的hello.m. 记住foldername是第一次启动shell时它的名称,它创建了一个文件,并在C:/ GNUstep / home文件夹中按计算机名称的名称创建一个文件夹。所以不要惊慌。好吧
最后,您将能够看到shell中的输出。
祝贺您成功编写了第一个Objective C程序。 需要任何澄清请写信给我:ayadav00009@gmail.com
答案 2 :(得分:0)
我在存储库中搜索过,然后我安装了基础库,现在一切正常。
感谢。