0

I learning Objective-C in Linux(Ubuntu), but when i tryed to compile my application that needs the Foundation headers i got an error saying that the file cannot be found, but i have installed the GNUstep development package(gnustep-devel). Here is my code:

// 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

And here is the console log:

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:~$

What i need to do?

4

3 回答 3

5

how are you compiling it? For me, I create a GNUMakefile makefile for my application (see here), and then I run source /usr/share/GNUstep/Makefiles/GNUstep.sh and then make.

于 2009-10-18T00:12:23.147 回答
4

Windows 的 GNUstep 安装过程

  1. 访问网址: http: //ftpmain.gnustep.org/pub/gnustep/binaries/windows/
  2. 下载exe文件gnustep-system-0.19.2-setup.exe
  3. 然后下载 gnustep-core-0.19.2-setup.exe

如果您要下载任何版本的 gnustep-system,请记住一件事,您必须为 gnustep-core 下载相同版本。例如,如果您下载了 gnustep-setup-0.22.1-setup.exe,那么您必须下载 gustep-core-0.22.1-setup.exe,否则您的代码将无法运行。

  1. 首先安装 gnustep-system-0.19.2-setup.exe,然后安装 gnustep-core-0.19.2setup.exe。不要试图以相反的顺序安装。
  2. 现在你得到了 Windows 的 gnustep 然后去开始>所有程序> GNUstep> shell
  3. 现在打开记事本编辑器并在记事本中编写以下代码
#进口  
int main (int argc, const char * argv[])
{
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]  
在里面];
  NSLog (@"Anil Kumar Yadav 已经运行了第一个目标 C  
程序!”);
  [池排水];
  返回0;
}

将它保存为 hello.m 在您的 C:/GNUstep/home/foldername 记住文件夹名称是您第一次启动 shell 时的名称,它会创建环境并在 C:/GNUstep/home 中以您的计算机名称创建一个文件夹文件夹。所以不要惊慌。好吧

  1. 转到您的外壳并键入以下命令 gcc -o hello hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -constant-string-class=NSConstantString
  2. 此命令将在您的文件夹名称文件夹中创建一个 hello.exe 文件。
  3. 再次在 shell 中键入命令 ./hello.exe

最后,您将能够在 shell 中看到输出。

恭喜你成功编写了你的​​第一个 Objective C 程序。需要任何澄清给我写信:ayadav00009@gmail.com

于 2010-05-21T09:58:50.487 回答
0

我在存储库中进行了搜索,然后安装了基础库,现在一切正常。

谢谢。

于 2009-10-18T03:56:35.163 回答