如何在Windows环境下编译使用NSApplication的GNUstep Objective-C应用程序?

2026-04-16 17:373阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计346个文字,预计阅读时间需要2分钟。

如何在Windows环境下编译使用NSApplication的GNUstep Objective-C应用程序?

我在Windows上尝试使用GNUstep编译应用程序。这是我的main.m文件内容:

我正在探索在 Windows上使用GNUstep编译应用程序.这是我的main.m文件:

#import <???/???.h> int main(int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; [NSApplication sharedApplication]; [pool release]; }

我意识到这至少是一个不完整的片段,它显然不会做任何事情.我已经尝试了几个不同的import语句,包括Cocoa / Cocoa.h,GNUstepGUI / GMAppKit.h等.但是我总是遇到编译错误,我似乎无法在网上找到帮助.

这是我的编译命令,我从mingw shell运行:

gcc -o test main.m -I /GNUstep/System/Library/Headers/ \ -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base \ -fconstant-string-class=NSConstantString -enable-auto-import

这些是我得到的错误:

c:/WINDOWS/TEMP/ccHxKZG2.o:main.m(.data+0x390): undefined reference to '___objc_class_name_NSApplication' collect2:ld returned 1 exit status

关于#import需要什么,或者我的编译命令需要修复什么的想法?

谢谢!

感谢Peter Hosey,我能够通过谷歌自己找到答案的页面:

psurobotics.org/wiki/index.php?title=Objective-C

与OS X开发不同,您需要一个“makefile”:

将它放入与源相同的目录中名为“GNUmakefile”的文件中:

include $(GNUSTEP_MAKEFILES)/common.make APP_NAME = MyAppName MyAppName_HEADERS = MyAppName_OBJC_FILES = main.m MyAppName_RESOURCE_FILES = include $(GNUSTEP_MAKEFILES)/application.make

然后执行

make

页面说要执行

openapp ./MyAppName.app

但.app文件夹中的.exe文件似乎独立运行.

如何在Windows环境下编译使用NSApplication的GNUstep Objective-C应用程序?

本文共计346个文字,预计阅读时间需要2分钟。

如何在Windows环境下编译使用NSApplication的GNUstep Objective-C应用程序?

我在Windows上尝试使用GNUstep编译应用程序。这是我的main.m文件内容:

我正在探索在 Windows上使用GNUstep编译应用程序.这是我的main.m文件:

#import <???/???.h> int main(int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; [NSApplication sharedApplication]; [pool release]; }

我意识到这至少是一个不完整的片段,它显然不会做任何事情.我已经尝试了几个不同的import语句,包括Cocoa / Cocoa.h,GNUstepGUI / GMAppKit.h等.但是我总是遇到编译错误,我似乎无法在网上找到帮助.

这是我的编译命令,我从mingw shell运行:

gcc -o test main.m -I /GNUstep/System/Library/Headers/ \ -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base \ -fconstant-string-class=NSConstantString -enable-auto-import

这些是我得到的错误:

c:/WINDOWS/TEMP/ccHxKZG2.o:main.m(.data+0x390): undefined reference to '___objc_class_name_NSApplication' collect2:ld returned 1 exit status

关于#import需要什么,或者我的编译命令需要修复什么的想法?

谢谢!

感谢Peter Hosey,我能够通过谷歌自己找到答案的页面:

psurobotics.org/wiki/index.php?title=Objective-C

与OS X开发不同,您需要一个“makefile”:

将它放入与源相同的目录中名为“GNUmakefile”的文件中:

include $(GNUSTEP_MAKEFILES)/common.make APP_NAME = MyAppName MyAppName_HEADERS = MyAppName_OBJC_FILES = main.m MyAppName_RESOURCE_FILES = include $(GNUSTEP_MAKEFILES)/application.make

然后执行

make

页面说要执行

openapp ./MyAppName.app

但.app文件夹中的.exe文件似乎独立运行.

如何在Windows环境下编译使用NSApplication的GNUstep Objective-C应用程序?