如何在 Windows上编译Objective-C
Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多。今天在网上突然看到了有人发帖,可以在Windows平台下编译Objective-C,就抱着好奇的心态试了试。没想到,居然成功了,现在就把怎样搭建Objective-C编译平台的经验拿出来和大家分享。
1、安装GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和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 搞定了。
如何在 Windows上编译Objective-C的更多相关文章
- 如何在windows上编译Chromium (CEF3) 并加入MP3支持(二)
时隔一年,再次编译cef3,独一无二的目的仍为加入mp3支持.新版本的编译环境和注意事项都已经发生了变化,于是再记录一下. 一.编译版本 cef版本号格式为X.YYYY.A.gHHHHHHH X为主版 ...
- Build Slic3r on Windows // 如何在Windows上编译Slic3r
下载Strawberry Perl 5.22 64bit绿色版,解压缩到某个地方,比如C盘根目录,比如 C:\strawbrry-perl-5.22.2.1-64bit-portable 下载Boos ...
- [ZZ] 在windows上编译Mesa3d opengl32库
在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法
这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...
- (转)如何在Windows上安装多个MySQL
原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...
- Redis简介以及如何在Windows上安装Redis
Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
- 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl
利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...
随机推荐
- iOS 开发之动画篇 - 从 UIView 动画说起
毋庸置疑的:在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的. 本文作为动画文集的第一篇, ...
- sysctl.conf和limit.conf备忘待查
#################################limits.conf设置################################### #修改最大进程和最大文件打开数限制v ...
- problem 202,263、232、21、231
[263]Ugly Number Write a program to check whether a given number is an ugly number. Ugly numbers are ...
- JavaScript高级程序设计-13:事件
JavaScript与HTML之间的交互是通过事件实现的. 一.事件流 首先我们要明白事件流的概念.当我们点击一个按钮时,也点击了按钮的容器元素,甚至也点击了整个事件.事件流描述就是从页面中接收事件的 ...
- Android与JNI(一) ---- Java调用C 静态调用
第一.通过eclipse新建一个工程名为HelloJni的android工程,并编译. 第二.右键工程-->Android Tools --> Add Native Support,出现如 ...
- UVa 908 - Re-connecting Computer Sites
题目大意:有n个网站,由m条线路相连,每条线路都有一定的花费,找出连接所有线路的最小花费. 最小生成树问题(Minimal Spanning Tree, MST),使用Kruskal算法解决. #in ...
- java语法:字符串数组的赋值
字符串数组怎么赋值呢? 首先当然得先定义啦:String infoPack[] : 然后想当然的以为在for循环里,new一个数组, String infoPack[i] = imgurls; 事实证 ...
- MySQL数据库面试
1. MySql的存储引擎的不同 特点 Myisam BDB Memory InnoDB Archive 存储限制 没有 没有 有 64TB 没有 事务安全 支持 支持 锁机制 表锁 页锁 ...
- React Native 之 搭建开发环境
现在只能在MAC系统上安装. 1. 首先,HomeBrew 这是一个包管理库,用来下载其它工具. 打开网站:brew.sh 网页有个命令 /usr/bin/ruby -e "$(curl - ...
- iOS 开发 旧版 framework
0. 参考 http://www.cocoachina.com/ios/20150127/11022.html http://www.cnblogs.com/gcb999/p/3296414.html ...