gpt4 book ai didi

objective-c - 无法在 Windows 上使用 Gnustep 编译 Objective C

转载 作者:行者123 更新时间:2023-12-04 03:13:44 25 4
gpt4 key购买 nike

嗨,我是初学者,学习 objective-c 。我发现错误“hello.m:1:34: Foundation/Foundation.h: No such file or directory”我开始知道我需要制作一个 make 文件我可以知道如何制作 make 文件吗

最佳答案

无需创建 makefile。如果您按照 Pax 上面的指示从“所有程序 -> GNUstep -> Shell”启动 MinGW,您可以只编译您的 .m 文件。

我的 GNUstep 安装在 c:\GNUstep\GNUstep\System 中。如果您的不同,您应该相应地更改 Foundation.h 的导入。

我这样做了:

  1. 创建如下所示的 c:\myprogs\obj-c\hello\hello.m:

//------------你好.m

#import <../../GNUstep/System/Library/Headers/Foundation/Foundation.h>

int main(int argc, const char* argv[])
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello from Hello.m!");

[pool release];
return 0;
}

//------------

  1. 启动 MinGW 外壳。 (见上文。)

  2. 在 shell 命令行上,切换到程序代码所在的目录。 (请注意,由于这不是 Unix,因此必须包含 Windows 盘符。):

    cd/c/myprogs/obj-c/你好

  3. 编译程序:

    gcc -o hello hello.m -I/c/GNUstep/GNUstep/System/Library/Headers\

    -L/c/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base\

    -fconstant-string-class=NSConstantString

(注意“\”字符允许我们将命令扩展到多行。)

我在编译时收到以下信息性消息:

Info: resolving ___objc_class_name_NSAutoreleasePool by linking to __imp____objc_class_name_NSAutoreleasePool (auto-import)
Info: resolving ___objc_class_name_NSConstantString by linking to __imp____objc_class_name_NSConstantString (auto-import)

运行生成的 hello.exe 给我这个:

2009-06-03 14:44:59.483 hello[1240] Hello from Hello.m!

关于objective-c - 无法在 Windows 上使用 Gnustep 编译 Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/905297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com