是否可以在 cygwin 下使用 GCC 正确构建 objective-c 代码。
我有以下应在 Mac 环境中工作的应用程序,但无法获得与 gcc 一起工作的最基本的东西。我需要更多的库吗?
#import "HelloWorldApp.h"
int main(int argc, char *argv[]) {
return 0;
} // End of the //
@interface Car
{
int test;
}
//The registration is a read-only field, set by copy
@property int (readonly, copy) test;
//the driver is a weak reference (no retain), and can be modified
//@property Person* (assign) driver;
@end
CC=gcc
CXX=gcc-g++
LD=$(CC)
CFLAGS=
LDFLAGS=-lobjc
all: HelloWorld
HelloWorld: HelloWorld.o
$(LD) $(LDFLAGS) -o $@ $^
%.o: %.m
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
rm -rvf *.o HelloWorld HelloWorld.exe
错误:
gcc -c HelloWorld.m -o HelloWorld.o
In file included from HelloWorld.m:6:
HelloWorldApp.h:19: error: stray '@' in program
HelloWorldApp.h:19: error: parse error before "int"
make: *** [HelloWorld.o] Error 1
最佳答案
我认为这是因为您使用的是 Objective-C 2.0,这是 Apple 开发的私有(private)扩展,他们没有回馈“标准”FSF GCC。因此,您的 mingw 编译器(不是基于 Apple 的,而是基于 FSF 的)不理解属性等新语法。
关于objective-c - 帮助 GCC 和 ObjectiveC 代码以及 Cygwin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466718/