热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows下编译objectiveCWindows上使用Objectivec和Cocoa

http:www.gnustep.orgexperienceWindows.htmlftp:ftpmain.gnustep.orgpubgnustepbinarieswindows

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的模拟开发环境,一共有四个软件包,其中Cairo 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 搞定了。

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

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

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

原文地址 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://***.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是启动的命令

Windows下编译objective-C
    





            
Windows上使用Objective-c和Cocoa

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

Windows下编译objective-C
    





            
Windows上使用Objective-c和Cocoa

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

Windows下编译objective-C
    





            
Windows上使用Objective-c和Cocoa

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

Windows下编译objective-C
    





            
Windows上使用Objective-c和Cocoa

简要总结

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

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

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


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • DSP中cmd文件的命令文件组成及其作用
    本文介绍了DSP中cmd文件的命令文件的组成和作用,包括链接器配置文件的存放链接器配置信息、命令文件的组成、MEMORY和SECTIONS两个伪指令的使用、CMD分配ROM和RAM空间的目的以及MEMORY指定芯片的ROM和RAM大小和划分区间的方法。同时强调了根据不同芯片进行修改的必要性,以适应不同芯片的存储用户程序的需求。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
author-avatar
Wx丶华少
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有