我正在学习Objective-C并使用GNUStep,但是当我尝试执行我非常简单的Hello World应用程序时,只是为了测试,它不会打印任何内容。我的代码是这样的:
// main.m
#include <stdio.h>
int main(void)
{
printf("Hello, World\n");
}
这是GNUmakefile:
GNUSTEP_MAKEFILES = /GNUstep/System/Library/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make
APP_NAME = HelloWorld
HelloWorld_HEADERS =
HelloWorld_OBJC_FILES = main.m
HelloWorld_RESOURCE_FILES =
include $(GNUSTEP_MAKEFILES)/application.make
当我执行此应用程序时,我得到了这个:
Nathan Campos@EEEPC-VMD0U56 ~/HelloWorld.app
$ ./HelloWorld
Nathan Campos@EEEPC-VMD0U56 ~/HelloWorld.app
$
有什么问题?
答案 0 :(得分:1)
我自己是一名Obj-C新手,但您是否尝试过直接编译而没有make文件?在我的机器上,使用源代码,如果我运行以下命令:
gcc main.m -lobjc
我得到一个二进制文件,当我执行二进制文件时,它会输出消息。如果这不起作用,您可以尝试将其构建为C程序,看看是否有效。我不知道你是否必须将文件重命名为main.c,但在我的机器上我只是按原样运行:
gcc main.m
如果这不起作用,那么我怀疑这些库有问题。如果这样可行,那么我怀疑问题出在makefile上。