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

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

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

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


当前回答

另外:

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

http://www.cocotron.org/

其他回答

你可以在Windows环境中使用Objective C。如果你按照以下步骤操作,它应该可以正常工作:

Visit the GNUstep website and download GNUstep MSYS Subsystem (MSYS for GNUstep), GNUstep Core (Libraries for GNUstep), and GNUstep Devel After downloading these files, install in that order, or you will have problems with configuration Navigate to C:\GNUstep\GNUstep\System\Library\Headers\Foundation1 and ensure that Foundation.h exists Open up a command prompt and run gcc -v to check that GNUstep MSYS is correctly installed (if you get a file not found error, ensure that the bin folder of GNUstep MSYS is in your PATH) Use this simple "Hello World" program to test GNUstep's functionality: #include <Foundation/Foundation.h> int main(void) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello World!."); [pool drain]; return; } Go back to the command prompt and cd to where you saved the "Hello World" program and then compile it:2 gcc -o helloworld.exe <HELLOWORLD>.m -I /GNUstep/GNUstep/System/Library/Headers -L /GNUstep/GNUstep/System/Library/Libraries -std=c99 -lobjc -lgnustep-base -fconstant-string-class=NSConstantString Finally, from the command prompt, type helloworld to run it

祝一切顺利,并在Objective-C中玩得开心!


注:

我使用默认的安装路径-相应地调整您的命令行 确保您的文件夹路径与我的文件夹路径相似,否则将报错

在这里获取GNUStep

点击这里获取MINGW

安装MINGW 安装GNUStep 然后测试

如果您熟悉Visual Studio环境,

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

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

你可以在这里得到一个objective - c编译器,它可以在Windows上工作,并且在Visual Studio 2008\2010上运行良好。

open-c争吵

只需下载最新的源代码。你不需要构建所有的CF-Lite有一个解决方案叫做objc.sln。您将需要修复一些包括路径,但它将构建良好。甚至还包含了一个测试项目,这样你就可以看到一些objective-c .m文件正在visual studio中编译和工作。可悲的是,它只适用于Win32而不是x64。需要为x64编写一些汇编代码来支持它。

截至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编写的跨平台业务逻辑。