当前位置:编程学习 > wap >>

gcc怎样编译Objective-C程序?

Objective-C语言是C的扩展,多了面向对象。

以下程序是不含对象的Objective-C程序。


//程序a.m

#import <stdio.h>     //这行与C程序不同。

main()
 {
     printf("aaaaa\n");
     return(0);
 }



ubuntu@ubuntu:~$ gcc a.m
gcc: error trying to exec 'cc1obj': execvp: 没有那个文件或目录
ubuntu@ubuntu:~$


为什么出错? --------------------编程问答-------------------- a.m弄成a.c --------------------编程问答--------------------
引用 1 楼 jiangyiaxiu 的回复:
a.m弄成a.c


这个是Objective-C程序,不过程序没有面向对象而已。
程序为什么编译错误呢? --------------------编程问答-------------------- 编译环境:
ubuntu12.04 LTS
gcc --------------------编程问答-------------------- 需要装gnustep,然后写个makefile编译。以前试过可以 --------------------编程问答--------------------
引用 4 楼 realhualang 的回复:
需要装gnustep,然后写个makefile编译。以前试过可以



ubuntu12.04 LTS
怎样安装gnustep? --------------------编程问答-------------------- http://www.istar.name/blog/ubuntu-install-object-c --------------------编程问答--------------------
引用 2 楼 u010869561 的回复:
Quote: 引用 1 楼 jiangyiaxiu 的回复:

a.m弄成a.c


这个是Objective-C程序,不过程序没有面向对象而已。
程序为什么编译错误呢?
       你这个是要干嘛了,这和在虚拟机上装个mac系统有啥区别了? --------------------编程问答--------------------
引用 4 楼 realhualang 的回复:
需要装gnustep,然后写个makefile编译。以前试过可以
   想加你为好友了,QQ多少 --------------------编程问答--------------------
引用 6 楼 wangliangffaflgh 的回复:
http://www.istar.name/blog/ubuntu-install-object-c


ubuntu12.04 LTS
哪个源有? --------------------编程问答-------------------- http://wwwmain.gnustep.org/resources/downloads.php?site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F

这个是GNUStep官网的,apt-get那种方式下载不了?

加我Q:995003822 --------------------编程问答--------------------
引用 10 楼 wangliangffaflgh 的回复:
http://wwwmain.gnustep.org/resources/downloads.php?site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F

这个是GNUStep官网的,apt-get那种方式下载不了?

加我Q:995003822


哪个啊? --------------------编程问答--------------------
引用 10 楼 wangliangffaflgh 的回复:
http://wwwmain.gnustep.org/resources/downloads.php?site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F

这个是GNUStep官网的,apt-get那种方式下载不了?

加我Q:995003822


ubuntu12.04 LTS
下载链接哪个deb包? --------------------编程问答--------------------
引用 6 楼 wangliangffaflgh 的回复:
http://www.istar.name/blog/ubuntu-install-object-c



#import <Foundation/Foundation.h>

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

return 0;
}


ubuntu@ubuntu:~$ gcc b.m
b.m:1:34: 致命错误: Foundation/Foundation.h:没有那个文件或目录
编译中断。
ubuntu@ubuntu:~$ 


为什么出错了? --------------------编程问答-------------------- gcc `gnustep-config --objc-flags` -lgnustep-base b.m -o b --------------------编程问答--------------------
引用 14 楼 wangliangffaflgh 的回复:
gcc `gnustep-config --objc-flags` -lgnustep-base b.m -o b


问题:

1.配置环境变量,修改了文件:.bashrc。怎样使它生效?
   
2.文件:.bashrc 以下内容,详细解释下?

GNUSTEP_PATH=/usr/share/GNUstep
export GNUSTEP_PATH
source /usr/share/GNUstep/Makefiles/GNUstep.sh


3.gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
    以上gcc编译,为什么有个符号:``?
    各个参数详细解释下?
--------------------编程问答--------------------
引用 6 楼 wangliangffaflgh 的回复:
http://www.istar.name/blog/ubuntu-install-object-c



//程序  b.m
#import <Foundation/Foundation.h>

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

return 0;
}




gcc `gnustep-config --objc-flags` -lgnustep-base   b.m   (图)
编译出错,为什么?



补充:移动开发 ,  iPhone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,