codeblock编译Object-C
http://blog.csdn.net/ldl22847/article/details/7482971
http://www.cnblogs.com/qingyuan/p/3524791.html
codeblock编译Object-C
Windows平台Objective-C编译环境搭建
安装codeblocks
安装GnuStep MSYS System(最小GNUlinux系统)、GnuStep core、GnuStep devel
配置codeblocks使得能够编译objective-c
1. Codeblocks
http://www.codeblocks.org/downloads/binaries
The codeblocks-13.12mingw-setup.exe file includes the GCC compiler and GDB debugger from TDM-GCC (version 4.7.1, 32 bit). The codeblocks-13.12mingw-setup-TDM-GCC-481.exe file includes the TDM-GCC compiler, version 4.8.1, 32 bit. While v4.7.1 is rock-solid (we use it to compile C::B), v4.8.1 is provided for convenience, there are some known bugs with this version related to the compilation of Code::Blocks itself.
第一个不带编译器和调试器,第二个包含gcc编译器和TDM-GCC 4.7.1的gdb调试器,第三个包含4.8.1的TDM-GCC编译器。
这里,我们下载codeblocks-13.12mingw-setup.exe这个稳定版本。
2. GnuStep套件安装
这里我们只安装 GnuStep MSYS,GnuStep Core,GnuStep Devel
http://www.gnustep.org/experience/Windows.html
GnuStep是一个基于MinGw系统包含最基本的Gnu System on windows和MinGw库。
The GNUstep Windows installer is based on the MinGW system and consists of the basic MSYS and MinGW libraries, other library dependancies and the GNUstep Core packages (gnustep-make, gnustep-base, gnustep-gui, and gnustep-back.) The installer installs GNUstep onto most varieties of Windows (see below for tested installations) and sets up the computer to make it easy to run GNUstep applications. It was created with the NSIS installer.
http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-msys-system-0.30.0-setup.exe
GNUstep MSYS System 类似于cygwin的GnuStep最小系统
This installer is the first of two installers needed to get GNUstep running on Windows. The second installer is GNUstep Core (gnustep-core-X.X.X-setup.exe). You should install this installer first and then install gnustep-core. If you want to compile programs you also need to install gnustep-devel.
http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-core-0.34.0-setup.exe
http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-devel-1.4.0-setup.exe
开发必须
libtool, autoconf and pkg-config
GnuStep develop tool
a) Objective-C
3. codeblocks配置
配置编译器
Settings->Compiler->copy rename as objective-c
勾选调试 –g 和编译警告 –Wextra
增加编译参数Setting Other options
-fconstant-string-class=NSConstantString -std=c99
连接器设置
增加2个链接库
E:\GNUstep\GNUstep\System\Library\Libraries\libgnustep-base.dll.a
E:\GNUstep\GNUstep\System\Library\Libraries\libobjc.dll.a
搜索目录配置
指定搜索目录Searchdirectories(需要预先安装好GNUstep)
E:\GNUstep\GNUstep\System\Library\Headers
E:\GNUstep\GNUstep\System\Library\Libraries
文件后缀支持
添加Objective-C文件类型支持
Settings->Environment File extension handling
进入 Project->Projecttree->Edit file types & categories... ,在Sources, 下面添加*.m到文件类型列表中。如图:
进入Settings->Editor...,选择 Syntaxhighlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m 到文件类型。如图:
关键字列表
点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到EditKeywords列表中。如图。
@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self |
点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到EditKeywords列表中。如图。
@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self |
4. 创建工程示例
#import <Foundation/Foundation.h>
int main (int argc, const char *argv[])
{
NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];
NSLog(@"%@",@"hello world-test");
NSString *name = @"hihi";
NSLog(@"123abc:%@",name);
NSLog(@"12nihao:%@",name);
printf("Hello world!\n");
[pool drain];
return 0;
}
注意:
1、 右键源文件rename为.m文件
2、 右键option,勾选compile file,link file
参考网址:
http://blog.csdn.net/ldl22847/article/details/7482971
codeblock编译Object-C的更多相关文章
- codeblock 编译googletest
1.cmake安装 2.codeblock 16.01 3.Google Test 1.7.0 4.PATH路径添加(重启电脑,保证设置的PATH路径生效) 5.python安装 6.编译安装: ...
- Linux c codeblock的使用(二):在工程中编译多个文件
(一)前言 我们刚开始学习linux c的时候,一般都是在一个c文件里面写完所有程序,然后用gcc编译这个c文件就好了,十分简单. 但是你有没有想过,如果我们希望将不同模块的代码放到不同的c文件,然后 ...
- 解决codeblock不能运行的问题
codeblock 编译失败 软件 IDE codeblock这软件的确不错,但是除此安装使用就会不小心入坑.你是不是满心欢喜的下载好codeblock,敲入代码,点击运行的时候却总是没反应呢? 如果 ...
- Linux c codeblock的使用(三):使用函数库
(一)概念 什么是函数库呢?一下子说概念大家可能不太熟悉,但是这实际上是大家在windows系统上经常见到的东西.没错,就是那些后缀为DLL的文件. linux上实际也有自己的函数库文件,文件类型为. ...
- MinGW下编译openssl, json-c
目的:在windows环境下,编译开源库openssl 环境:windows 10 ,Mingw及自带msys工具,openssl-1.0.2j 工具主要使用MinGW(含msys1.0), IDE选 ...
- Object C学习笔记6-如何在Windows环境搭建Object C开发环境
1. 安装编译环境 Object C和其他很多语言一样,都需要有一个编译器.Object C 是在GCC下编译的.GCC(GNU Compiler Collection,GNU编译器集合),是一套由 ...
- 如何在Windows环境搭建Object C开发环境
1. 安装编译环境 Object C和其他很多语言一样,都需要有一个编译器.Object C 是在GCC下编译的.GCC(GNU Compiler Collection,GNU编译器集合),是一套由 ...
- 对于谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程
本教程针对Windows10实现谷歌近期公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴. 本教程将网络上相关资料筛选整合(文末附上参考资料链接) ...
- 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统
Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...
随机推荐
- Java 获取 文件md5校验码
讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...
- Mysql中表名作为参数的问题
近期由于程序的异常,导致数据库中创建了大量的表(约4000个),纠结的是表中的数据还都是有用的. 需要合并到一个表中,首先想到的就是使用存储过程来处理,但由于表名都是动态生成的,需要解决在存储过程中处 ...
- Android studio听云接入另外一种方式
1.在build.gradle中集成听云. buildscript { repositories { mavenCentral() } dependencies { classpath fileTre ...
- Nginx 拒绝指定IP访问
来源 : http://www.ttlsa.com/nginx/nginx-deny-ip-access/ 闲来无事,登陆服务器,发现有个IP不断的猜测路径.试图往服务器上传文件(木马).于是查看 ...
- FAQ:Python环境变量配置
Python安装安装成,需要配置环境变量: 默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册 ...
- 12.java.lang.NoSuchMethodException
java.lang.NoSuchMethodException 方法不存在异常 当程序试图通过反射来创建对象,访问(修改或读取)某个方法,但是该方法不存在就会引发异常
- ReentrantLock(重入锁)以及公平性
ReentrantLock(重入锁)以及公平性 标签(空格分隔): java NIO 如果在绝对时间上,先对锁进行获取的请求一定被先满足,那么这个锁是公平的,反之,是不公平的,也就是说等待时间最长的线 ...
- 苹果新专利详解Apple Pay和NFC工作原理
本周,美国专利商标局公布了苹果一项名为“在移动支付过程中调节NFC的方法”专利申请.专利文件中详细描述了苹果Apple Pay功能以及NFC硬件构架和工作模式. 首先,苹果在专利文件中介绍了其无接触支 ...
- 柯南君:看大数据时代下的IT架构(8)消息队列之RabbitMQ--案例(topic起航)
二.Topic(主题) (using the Java client) 上一篇文章中,我们进步改良了我们的日志系统.我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fano ...
- iOS6和iOS7代码的适配(1)
苹果的iOS7推出后,对于所有的应用来说都提出了一个天然的需求--适配不同版本的SDK.目前来说,用iOS6的SDK生成的应用,可以在iOS7的系统上跑,UI上也保持了原来的风格样式,这是苹果做的向下 ...