当前位置:首页 » 编程软件 » objectc编译

objectc编译

发布时间: 2022-07-07 02:34:18

1. 怎么在ubuntu上的gcc 来编译object-C

安装完毕后,便可以透过make来编译
###############################################################################
如果出现下面错误,则表示找不到NextSetup的相关liberary,必须要修正script shell为下
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
或是使用Automake的话,必须要再Makefile.am修改为

java代码
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=demo0
demo0_SOURCES= hello.m

INCLUDES= -I/usr/local/include/GNUstep \
-I/usr/include/GNUstep
demo0_LDADD = -lgnustep-base -lpthread -lobjc -lm

error: cannot find interface declaration for ‘NXConstantString’

###############################################################################
如果出现以下错误,表示你的gcc尚不支援cc1obj,必须要安装gobjc
gcc: error trying to exec 'cc1obj': execvp: No such file or directory

>>sudo apt-get install gobjc

2. object-c的介绍

Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。在MAC OS X系统下,运用苹果提供的SDK等开发工具包,可以用来做IOS开发,开发后的程序在Iphone虚拟机中进行测试,运用的主要语言为Object-c。与C#类似。Object-c仅支持单一父类继承,不支持多重继承。

3. objectivec用什么编译器

当然是X-code啦,有了java 和c++的基础,objective-c 很好上手,
要好好学习,还是建议买苹果电脑

不过我记得 gcc/g++也都支持对object c源码进行编译。

4. 如何在Windows上编译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 搞定了。

5. 如何在windows 上用Sublime Text编译objective-c

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

6. Object-C 怎么在Window环境下编译 网上的那个GNUstep 怎么都编译不成功

如何修改应用程序的名字 在Project--Setting--Link:output file name --Debug/AppName.exe
----------------------------------------------------
VC6.0的18个实用小技巧
1.检测程序中的括号是否匹配
把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。
2.查看一个宏(或变量、函数)的宏定义
把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。
相当可喜的是,它也可以看到Microsoft定义的系统宏,非常good.
3.格式化一段乱七八糟的源代码
选中那段源代码,按ATL+F8。
4.在编辑状态下发现成员变量或函数不能显示
删除该项目扩展名为.ncb文件,重新打开该项目。
5.如何整理ClassView视图中大量的类
可以在classview 视图中右键新建文件夹(new folder),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了.
6.定位预处理指定
在源文件中定位光标到对称的#if, #endif,使用Ctrl+K.
7.如何添加系统中Lib到当前项目
在Project | Settings | Link | Object/library moles:输入Lib名称,不同的Lib之间用空格格开.
8.如何添加系统中的头文件(.h)到当前项目.
#include ,告诉编译到VC系统目录去找;使用#include "FileName.h",告诉编译在当前目录找.
9.如何在Studio使用汇编调试
在WorkBench的Debugger状态下按CTRL+F7.
10.怎样处理ClassZiard找不到的系统消息
如果要在ClassWizard中处理WM_NCHITTEST等系统消息,请在ClassWizard中Class Info页中将Message filter改为Window就有了.
11.如何干净的删除一个类
先从Workspace中的FileView中删除对应的.h和.cpp文件,再关闭项目,从实际的文件夹中删除对应的.h和.cpp文件与.clw文件。
12.在Studio中快速切换两个文件
有时,我们需要在最近使用的两个文件中快速切换,换Ctrl+F6。这在两个文件不相今的时候就有用的.
13.取得源程序预处理后的结果:
在Studio里,可以在-PROJECT- SETTINGS-C/C++-Project Options中,在最后加上 /P /EP这两个编译开关即可做到"只进行预处理".就可以了。编译以后就可以在源程序目录中发现“文件名.I ”的文本文件。这就是预处理后的结果。
(注意注:区分大小定,请用大定/P)
14.在Debug模式中查看WINAPI调用后的返回值:
很简单,且实用:在watch中加入@hr,err。在CSDN的文档中心有一篇讲得更细,请参考。
15.产生指定源程序文件的汇编代码:
从IDE菜单的Project-Setting打开项目设置,按如下文件做:
1.先在左边选择指定文件,可以多选。
2. 在右边的C++属性页中,在category中选择List Files,接着在下面的List Files Type中选择Assembly and source code(或选择其它),最后在List File Name中输入在个C/C++源文件产生的相应的汇编代码的文件。
3.编译整个工程。
16.手工编译纯资源成dll:
Rc.exe /v data.rc
Cvtres.exe /machine:ix86 data.res
Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;编译成DLL文件
这种方式创建的DLL是最小的,比起你用Win 32 Dynamic Libray等产生的更小。
17:怎样快速生成一个与现有项目除了项目名外完全相同的新项目?
利用File菜单下生成新项目中的Custom AppWizard ,选择 An existing Project ,然后选择现有项目的项目文件名(*.dsp)Finish,编译后就生成一个可以生成与现有项目相同但可以重新取名的项目的AppWizard。你可以象用MFC AppWizard一样用它。如果不想用了,可以在VC 安装目录下Common\MSDev98\Template目录中删除该Wizard中.awx和 .pdb文件。
18:如果想把整个项目拷贝到软盘,那些文件可以删掉?
除了项目文件夹中debug文件夹可以删除外,.ncb,.clw,.opt 等文件也可以删除,这些文件Rebuilt all后可以重新生成。
附:VC项目文件说明
.dsp 项目参数配置文件,这个文件太重要,重点保护对象。.
.dsw 工作区文件,重要性一般,因为它信息不我,容易恢复。
以下文件在项目中是可丢弃的,有些文件删除后,VC会自动生成的。
.clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建.
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。
.opt 工程关于开发环境的参数文件。如工具条位置等信息;(可丢弃)
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他.
.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools-Options里面有个选项可以控制这个文件的生成.
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理.
.mdp (Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式.
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度.
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着.
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大.
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用.
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用.

7. Objective-C命令行下编译:

编译命令的问题,没有链接Foundation库
一定要用命令编译吗?
加上这个参数试试,有点麻烦就是了

-framework Foundation

8. 关于linux object-c编译环境搭建

GNUStep可以模拟苹果框架,但是已经很古老了。不建议使用。
gcc 可以编译非 苹果框架,但是 是objective-c的源码,需要安装 libobjc 吧,可以用gcc编译 m 文件。
但是图形编程,只能使用 MacOSX 的XCode了。。。。别无他选,GNUStep并不好。

9. object c 怎么同时使用object-c object-c++两种语言编译

用C编译的库用OC,用C++编译的库用OC++,为了避免冲突,最好将Compile Sources As设置为"According to File Type",将需要用到C++编译的库的m文件改名为mm,Objective-C天然支持C语言混编,只是对C++不怎么友好。注:使用"According to File Type"时,需要将C方言设置为GUN89或者更高(再说C89的标准有些确实比较恶心),不然系统自带的OC库会编译不通过。

10. 求助···编译Object-C

1. 搭建GNUStep 下载四个文件 完全安装。

2. 配置GNUstep/etc/profile文件
在末尾加入如下配置(主要是配置msys环境):
GNUSTEP_MAKEFILES=/usr/GNUstep/System/Library/Makefiles/
LD_LIBRARY_PATH=/usr/local/lib/:/usr/GNUstep/Local/Library/Libraries/:/usr/GNUstep/System/Library/Libraries/
LIBRARY_PATH=/usr/local/lib/:/usr/GNUstep/Local/Library/Libraries/:/usr/GNUstep/System/Library/Libraries/
OBJC_INCLUDE_PATH=/usr/GNUstep/Local/Library/Headers/:/usr/GNUstep/System/Library/Headers/
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
PATH=$PATH:/usr/GNUstep/Local/Tools/:/usr/GNUstep/System/Tools/
export GNUSTEP_MAKEFILES LD_LIBRARY_PATH LIBRARY_PATH OBJC_INCLUDE_PATH PKG_CONFIG_PATH
3. 源文件和GNUmakefile
helloworld.m
#import <Foundation/Foundation.h>

int main(char argc, char* argv[]) {
NSLog(@"hello world");
return0;
}
GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = helloworld
helloworld_OBJC_FILES = helloworld.m
include $(GNUSTEP_MAKEFILES)/tool.make
4. 编译
通过gnustep shell进入home目录make一下就行了。(常用命令:ls pwd cd)
看网上介绍的编译命令如:
#!/bin/sh

gcc -o helloworld helloworld.m \
-fconstant-string-class=NSConstantString \
-I /GNUstep/System/Library/Headers/ \
-L /GNUstep/System/Library/Libraries/ \
-lobjc \
-lgnustep-base
基本上都是第三步中没有设置环境所以需要添加编译选项,使用makefile和第三步预设的编译环境基本可以解决编译问题了。

热点内容
京东登录密码如何清除 发布:2025-02-10 09:07:41 浏览:689
dns服务器地址192 发布:2025-02-10 09:07:39 浏览:661
redis缓存实现 发布:2025-02-10 09:01:26 浏览:710
后台登录脚本 发布:2025-02-10 08:56:11 浏览:658
我的辣鸡账号和密码是多少 发布:2025-02-10 08:55:37 浏览:690
超父算法 发布:2025-02-10 08:43:05 浏览:910
电脑主机配置需要哪些硬件 发布:2025-02-10 08:22:52 浏览:706
平板太卡换存储卡有用吗 发布:2025-02-10 08:14:16 浏览:828
台北服务器搭建 发布:2025-02-10 08:13:33 浏览:273
webconfig数据库的连接配置 发布:2025-02-10 08:13:24 浏览:967