在Windows平台上编写Objective-C的最佳方法是什么?

Cygwin和gcc?有没有办法我可以以某种方式将它集成到Visual Studio?

沿着这条线-关于如何链接和使用Windows SDK来做这样的事情有什么建议吗?这是一个不同的野兽,但我知道我可以在Windows dll中编写汇编和链接,让我可以访问这些调用,但我不知道如何做到这一点,除非谷歌和得到零碎的方向。

有人知道有好的网络或书籍资源来做或解释这些事情吗?


当前回答

如果您熟悉Visual Studio环境,

小项目:使用gcc的jGRASP 大型项目:Cocotron

我听说有模拟器,但我只能找到Apple II Emulator http://virtualapple.org/。这似乎仅限于游戏。

其他回答

另外:

Cocotron是一个开源项目,旨在实现一个类似于苹果公司Cocoa文档所描述的跨平台Objective-C API。这包括AppKit, Foundation, Objective-C运行时和支持api,如CoreGraphics和CoreFoundation。

http://www.cocotron.org/

截至2021年,GNUstep Windows MSVC工具链允许在任何Windows应用程序中集成Objective-C代码,包括使用LLVM/Clang的Visual Studio项目。这包括对自动引用计数(ARC)和Objective-C 2.0特性的支持,比如块。

该项目包括来自GNUstep的Foundation、CoreFoundation和libdispatch库。它目前不包括任何UI框架,如AppKit或UIKit,但它可以用来编写特定于windows的UI,使用Objective-C编写的跨平台业务逻辑。

首先,忘记GNUStep工具。ProjectManager和ProjectCenter都不能被称为IDE。恕我直言,GNUStep项目的人似乎还停留在80年代末(那是NeXTSTEP首次出现的时候)。

Vim

ctags从r771开始就支持Objective-C(请务必选择预发布的5.9版本,并在命令行中添加——langmap=ObjectiveC:.m.h,见这里),因此您将拥有良好的代码完成/标记导航。

下面是一个简短的如何将Objective-C支持添加到Vim标记栏插件。

Emacs

这同样适用于现代Emacsen附带的标签,所以您可以从Emacs Objective C Mode开始。YASnippet将提供有用的模板:

如果您想要比基本的基于标记的代码补全更智能的方法,可以看看这个问题。

Eclipse

CDT支持基于makefile的项目:

从技术上讲,你可以开箱即用地构建你的Objective-C项目(在Windows上,你需要Cygwin或MinGW工具链)。唯一的问题是代码编辑器会报告大量错误,而不是它认为的纯C代码(动态代码检查可以关闭,但仍然……)如果希望正确地突出显示语法,可以将Eclim添加到Eclipse中,并享受Eclipse和Vim的所有优秀特性(参见上面)。

另一个很有前途的Eclipse插件是colororer,但它目前还不支持Objective-C。您可以随意提交功能请求。

光滑编辑

SlickEdit,在一个优秀IDE的其他特性中,确实支持Objective-C。虽然它学习起来相当复杂(虽然没有Emacs复杂),但我相信这是您最好的选择,前提是您不介意购买它(价格相当合理)。

此外,它还有一个Eclipse插件,可以作为独立编辑器的替代品。

KDevelop

有传言说存在一个KDevelop补丁(15年了,但谁在乎呢?)我个人并不认为KDevelop在功能上优于Emacsen,所以我不会费心去尝试它。


以上也适用于Linux上的Objective-C开发,因为所有提到的工具或多或少都是可移植的。

如果你只是想尝试一下,这里有一个用于。net (Windows)的Objective-C编译器:qckapp

在这里获取GNUStep

点击这里获取MINGW

安装MINGW 安装GNUStep 然后测试