开发者社区> thinkyoung> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Windows下编译objective-C

简介: Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录(?)[+]   Windows下编译objective-C http://www.
+关注继续查看

Windows下编译objective-C

 

目录(?)[+]

 

http://www.gnustep.org/experience/Windows.html

ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows
在上面的网站下载 
gnustep-core-0.23.1-setup.exe
gnustep-system-0.23.0-setup.exe
Gorm-1.2.10-setup.exe
SystemPreferences-1.1.0-setup.exe
注意都下最新版本的吧.
下好后,都是一路NEXT安装就好了.
假设你装在D盘,
>代码应该写在什么地方 
然后说写代码,代码写在哪里都可以.就放C:/好了.
>怎么生成运行
假设你写一个程序叫 hello.m, 在c:/下面.
那么打开cmd 用如下命令去编译,
D:\GNUstep\mingw\bin\gcc.exe hello.m -o hello.exe -I D:\GNUstep\GNUstep\System\Library\Headers -L D:\GNUstep\GNUstep\System\Library\Libraries -lobjc -fobjc-exceptions -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import
长是长了点,但是很容易懂的,简单说一下,
最前面的是指定gcc.exe,这个你是肯定知道的.
后面的 -I xxx 和 -L xxxx 分别是指编译的时候用到的头文件和库,
主要是cocoa的一些库吧.
再后面是一堆 Flag,也就是编译选项,看名字都拆差不多了.
>我现在的问题是不知道代码应该写在哪里 
>是新建TXT文档还是用什么其他的工具?
看了上面的编译命令,我想你已经知道怎么写了吧,
>能不能给推荐一个
VIM你用过么?会用的话,它的好处就不多说了. 
我正在用它,自定义热键,
一个F8就过去编译,一个C-F8就看到运行结果,
并不要你真正的去CMD下编译运行也可以的
不会的话,就UE, EditPlus, 只要有objective c 语法提示的都可以吧.
>是新建TXT文档还是用什么其他的工具?
说白了,就是c程序啊,当然是txt格式的了.
好了,重点的,安装 和 编译 都已经写给你了, 自己再研究一下吧.
PS.顺便说下,这个环境的OC,不支持2.0特性,
直接一点讲,不支持OC的属性操作,
也就是那个 @property 标签识别不了的.

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

转自: http://blog.csdn.net/hulefei29/archive/2010/02/21/5314018.aspx

 

Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多。今天在网上突然看到了有人发帖,可以在Windows平台下编译Objective-C,就抱着好奇的心态试了试。没想到,居然成功了,现在就把怎样搭建Objective-C编译平台的经验拿出来和大家分享。

1、安装GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep SystemGNUstep Core是必装的,GNUstep DevelCairo Backend是选装的。只安装前两个就够了。

2、编写Objective-C代码
安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行。直接在Windows里进入C:\GNUstep\home\Administrator(我的是Administrator,可能有的不一样)目录,在这里用你喜欢的工具(现在UltraEdit和Notepad++编辑器好像可以代码高亮)编写Object-C程序。
如:HelloWorld.m

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[]) 
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];

return 0;
}

3、配置环境变量
这一步很重要。GNUstep.sh是用来设置GNUstep开发环境变量的,如果没有执行,就会有很多头文件,库文件,命令找不到

在一个目录里写好了源代码以后,编写一个make配置文件,名字必须叫GNUmakefile,内容是

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=Test
Test_OBJC_FILES=HelloWorld.m

include $(GNUSTEP_MAKEFILES)/tool.make


可以修改上面的黑体部分

然后就是
make

命令运行成功就可以看到新增了一个obj目录,里面就有你要的可执行文件和.o文件。

OK 搞定了。

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

 GNUstep 安装

原文地址 http://i4y.jsfirm.cn/page/read/127

由于暂时还没有Mac的本本,只能现在Linux上练习Objective-C的语法了,安装的过程并不顺利,这里采用的平台依旧是Debian, Windows也是可以的,

关于GNUstep 就不多说了,自己去官网看吧,总之就是一个跨平台的Objective-C的编译运行环境,下面开始安装:

#apt-get install gnustep

#apt-get install gnustep-devel

#apt-get install libgnustep-base-dev

#apt-get install gnustep-games

这样就安装完毕了,(上面的安装包可以放在一起,一次安装完的,不要小看了那几个包,shitou可是花了很大功夫才找到的,为了表示寻找的痛苦,还是写长点吧,^_^)

然后就是配置了,Firstly:

#echo 'export LIBRARY_PATH=/usr/lib/GNUstep/System/Library/Libraries' >> ~/.profile

#echo 'export OBJC_INCLUDE_PATH=/usr/include/GNUstep/Headers' >> ~/.profile

#source ~/.profile

然后执行GNUstep.sh的脚本,自动加载其他环境PATH:

#chmod +x /usr/share/GNUstep/Makefiles/GNUstep.sh

#source /usr/share/GNUstep/Makefiles/GNUstep.sh

也加入.profile文件, 以便用户登陆系统时加载

#echo 'source /usr/share/GNUstep/Makefiles/GNUstep.sh' >> ~/.profile

这样就设置完毕了,然后就是写个ObjC的程序测试下了,在测试时可能会报的错是NXConstantString之类的错误, 办法就是:

#gcc -o hello hello.m -fconstant-string-class=NSConstantString -lobjc -lgnustep-base

这样就大功告成了, 好了,下面开始正式学习Objective-C.........

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

Windows上使用Objective-c和Cocoa

 

转自 : http://www.cnblogs.com/2018/archive/2010/12/25/1916764.html

最近进行iPhone的开发,使用了Cocoa,感觉Cocoa设计很精致,Objecitive-c语法也很简单和易用,因此想是否在Windows下也有可以运行的环境,这样可以方便使用,否则只在MAC上用,安装虚拟机或购买硬件都比较麻烦,搜索了一下资料,还真有这方面的工具。

关于cocoa跨平台的问题

http://stackoverflow.com/questions/2049099/cocoa-programming-on-windows

GNUStep

http://www.gnustep.org/

The purpose of this project is to create a free and open version of the Cocoa (formerly known as NeXTSTEP/OpenStep) APIs and tools for as many platforms as possible.

GNUstep provides a robust implementation of the AppKit and Foundation libraries as well as the development tools available on Cocoa, including Gorm (the InterfaceBuilder) and ProjectCenter (ProjectBuilder/Xcode). GNUstep currently supports Unix (GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin) and Windows.

可见这个开源项目建构了和Xcode InterfaceBuilder及Objective-c Cocoa的运行环境等系列的工具

http://www.nongnu.org/gstutorial/zh_TW/index.htmlGnuStep中文文档和参考

http://ftp.gnustep.org/pub/gnustep/binaries/windows/ 这个可以下载Windows版本下的各个执行文件

Cocotron

http://www.cocotron.org/

Cocotron项目的目标是实现一个跨平台的类似苹果公司Cocoa的Objective-C API。包括AppKit、Foundation、Objective-C运行库和支持其他函数库,诸如CoreGraphics和CoreFoundation。

http://www.cocoachina.com/b/?p=144

通过比较gnuStep比较完整,可以作为整个环境的体验和学习开发使用,Cocotron就没有再细看

GnuSetp安装和使用

http://ftp.gnustep.org/pub/gnustep/binaries/windows/ 在这个路径可以下载Windows下的执行文件,上层目录可以看到各个版本的代码和文档等等内容

最新版本的安装

http://www.gnustep.org/experience/Windows.html

objective-c和Cocoa框架的编译环境

gnustep-msys-system-0.25.1-setup.exe

gnustep-core-0.25.0-setup.exe

gnustep-devel-1.1.1-setup.exe

gnustep-cairo-0.22.1-setup.exe

类似Interface Builder的界面设计工具

gorm-1.2.12-setup.exe

例子工具

gnustep-examples-1.3.0.tar.gz

gworkspace-0.8.8.tar.gz

ProjectCenter-0.6.0.tar.gz

SystemPreferences-1.1.0-1-setup.exe

上面这个版本的ProjectCenter需要自己编译使用[代码中有相关的文档说明]

http://www.jaysonjc.com/programming/objective-c-programming-in-windows-gnustep-projectcenter.html

是一个使用已有版本的功能说明,使用以下:

gnustep-system-0.22.0-setup.exe

gnustep-core-0.22.0-setup.exe

gnustep-devel-1.0.0-setup.exe

gorm-1.2.8-setup.exe

ProjectCenter-0.5.0-setup.exe

按照以上的顺序安装,就把编译环境项目工具、界面工具安装完成

[我的机器上安装完后(Windows7 64)Build项目时提示make文件找不到,没有找到好的解决办法,有空可以再看看ProjectCenter的代码,有ProjectCenter熟悉一下工程的组织就行了,可以使用make命令行自己编译]

http://www.gnustep.org/experience/PierresDevTutorial/index.html

这个地址讲述了ProjectCenter gorm建立项目和界面的步骤

安装好的程序组菜单,Shell可以启动MingW Shell环境,此时可以使用gcc g++ make等工具,对于linux等熟悉的对这个很清楚

Gorm ProjectCenter是启动的命令

image

Shell窗口:可以编译项目等操作

image

Gorm窗口:设计界面和组件布局

image

ProjectCenter窗口:项目建立、代码高亮察看

image

简要总结

GnuStep可以使用Objective-c和Cocoa,注意这个Cocoa和apple的官方cocoa实现还是有差别的。

这个工具实现了AppKit,对于iOS的UIKit没有实现

不过只要对这个熟悉了以后,那么进行iPhone/iPad和MAC的开发很容易

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
WINDOWS编译ffmpeg:LINK : fatal error LNK1104: 无法打开文件“LIBCMT.lib”
WINDOWS编译ffmpeg:LINK : fatal error LNK1104: 无法打开文件“LIBCMT.lib”
0 0
WINDOWS+VS2012+cygwin编译ffmpeg成功,DLL不能用
WINDOWS+VS2012+cygwin编译ffmpeg成功,DLL不能用
0 0
WINDOWS/cygwin编译lame出错:error: ‘_O_BINARY‘ undeclared
WINDOWS/cygwin编译lame出错:error: ‘_O_BINARY‘ undeclared
0 0
WINDOWS使用msys2编译ffmpeg(编译成功,无法使用)
WINDOWS使用msys2编译ffmpeg(编译成功,无法使用)
0 0
WINDOWS编译JDK11
WINDOWS编译JDK11
0 0
对自己编译的文件(exe/dll)进行签名的实践(Windows)
对自己编译的文件(exe/dll)进行签名的实践(Windows)
0 0
全网首发:WINDOWS编译freetype 2.11.0总结
全网首发:WINDOWS编译freetype 2.11.0总结
0 0
FFmpeg下载编译好的WINDOWS库头文件
FFmpeg下载编译好的WINDOWS库头文件
0 0
Ffmpeg下载WINDOWS、MAC编译结果
Ffmpeg下载WINDOWS、MAC编译结果
0 0
编译WINDOWS版FFmpeg:编译SDL
编译WINDOWS版FFmpeg:编译SDL
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南之Windows系统诊断
立即下载
TAKING WINDOWS 10 KERNEL
立即下载
《云服务器运维之Windows篇》
立即下载