我有一个与这个问题有关的问题无法在Windows上使用Gnustep编译Objective C
我想在Windows上编译我的第一个目标c应用程序。 该文件是hello.m(在Visual Studio中创build的所有文件)
#import <../Program Files/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; }
include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = hello YourProg_OBJC_FILES = hello.m include $(GNUSTEP_MAKEFILES)/tool.make
据我了解,当我运行make命令“make”时,GNUmakefile将执行。
寻找C#或Java或Python或C ++示例来控制Windows远程桌面
如何在没有物理硬件的情况下利用多显示器设置的function?
如何使用c + +得到Windows DNS后缀search列表
窗口消息:WM_CREATE和WM_NCCREATE不同?
SWIG python模块创build问题
当我在GNUStep shell中执行此操作时,出现错误
GNUmakefile:1 *** missing separator. Stop.
我尝试添加一个标签到第一行。 这没有做什么。 是的,我确定这是一个标签,而不是一个空间。
如何在wp7上的XNA中轻敲手势之间创build一个延迟
Asm CALL指令 – 它是如何工作的?
无法在Windows上安装ruby-debug gem
打开Python IDLE和运行命令
我有同样的问题。 我用记事本++来制作GNUmakefile。 Notepad ++的默认编码是UTF8。 但是MINGW32的make.exe好像是用ANSI编码等待文件。
所以,验证你的文件是否用ANSI编码。
make是抱怨你的makefile,所以你可能在某处有语法错误。
请参阅: http : //www.gnu.org/software/automake/manual/make/Error-Messages.html :
这意味着make不能理解刚刚读取的makefile行。 GNU make会查找各种分隔符(:,=,配方前缀字符等)来指示它正在分析哪一行。 这个消息意味着它找不到一个有效的。
试试你可能试着直接编译:
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
你不应该提供Foundation.h头文件的完整路径。 它应该始终是#import <Foundation/Foundation.h> 。
这与你的makefile问题一起表明你的机器上没有正确的设置。 你是从msys shell还是从Windows命令行运行make命令? 如果您选择使用Windows命令行,您将面临一些问题,因为与GNUstep安装程序提供的msys外壳相反,环境设置不正确。
如果你想另一方面手动运行gcc,你可以看看这个答案 。
在你的GNUmake文件中 , YourProg_OBJC_FILES应该被修改为hello_OBJC_FILES ,就像下面一样
include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = hello hello_OBJC_FILES = hello.m include $(GNUSTEP_MAKEFILES)/tool.make
或者你也可以像这样在命令行中编译
$ gcc `gnustep-config --objc-flags` hello.m -o hello `gnustep-config --base-libs`
像pkg -config这样的gnustep-config命令可以打印出gcc的编译和链接选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。