objective-c - 帮助 GCC 和 ObjectiveC 代码以及 Cygwin

标签 objective-c windows winapi gcc cygwin

是否可以在 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/

相关文章:

ios - Swift:奇怪的 XCode 行为在 NSArray 的子类中具有必需的初始化程序

objective-c - 将 Swift 字符串传递给 Objective-C 框架方法会导致字符串丢失

java - 将java应用程序作为Windows服务运行

winapi - 在登录屏幕上将密码发送到远程计算机 [Windows 7]

winapi - 以编程方式访问 Office 剪贴板的元素

c - Windows 中 C 中的线程

ios - 观察 NSMutableArray ,使用了数组访问器,但仍然没有运气

iphone - 在 iPhone 上绕过 socks 代理配置

Windows ubuntu 子系统上的 Python 语法错误

c# - 检测非 DPI 感知应用程序是否已缩放/虚拟化