在ubuntu14.04上搭建Objective-C开发环境
来源:互联网 发布:淘宝怎么打造一个爆款 编辑:程序博客网 时间:2024/06/05 11:47
我们的机器人需要iOS客户端,于是要招iOS开发人员,而我们都不懂iOS开发,于是我紧急了解了下Objective-C(以下简称OC)的历史和语法,然后想在ubuntu上动手试试OC编程,于是按照这篇文章搭建环境并编译helloworld代码
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
结果报错:
/tmp/ccNFKMXF.o:在函数‘main’中:/home/haipeng/projetcs/ios/hello.m:5:对‘objc_get_class’未定义的引用/home/haipeng/projetcs/ios/hello.m:5:对‘objc_msg_lookup’未定义的引用/home/haipeng/projetcs/ios/hello.m:5:对‘objc_msg_lookup’未定义的引用/home/haipeng/projetcs/ios/hello.m:7:对‘NSLog’未定义的引用/home/haipeng/projetcs/ios/hello.m:8:对‘objc_msg_lookup’未定义的引用/tmp/ccNFKMXF.o:在函数‘__objc_gnu_init’中:/home/haipeng/projetcs/ios/hello.m:10:对‘__objc_exec_class’未定义的引用/tmp/ccNFKMXF.o:(.data.rel+0x0):对‘__objc_class_name_NSConstantString’未定义的引用/tmp/ccNFKMXF.o:(.data.rel+0x8):对‘__objc_class_name_NSAutoreleasePool’未定义的引用collect2: error: ld returned 1 exit status
上面的报错信息明显是链接错误,我检查了GNUstep的安装,有gnustep-base库。又搜索了其他相关文章,原来还依赖objc库,加上
gcc `gnustep-config --objc-flags` -lobjc -lgnustep-base hello.m -o hello
结果还是相同的错误
该有的库都有了,还出错,想起gcc由来已久的feature:
GCC在链接时对依赖库的顺序是敏感的,被依赖的库必须放在后面,比如libfoo.a依赖libbar.a,必须写成-lfoo -lbar这样的顺序,否则链接将出错。
命令行调整成以下后问题解决。
gcc `gnustep-config --objc-flags` hello.m -o hello -lgnustep-base -lobjc
运行输出
haipeng@whp:~/projetcs/ios$ ./hello 2016-07-29 09:43:39.422 hello[4253] hello world
老外写的文章一样不让人放心呀
0 0
- 在ubuntu14.04上搭建Objective-C开发环境
- linux-ubuntu14.04 Objective-C环境搭建
- 在windows上搭建Objective-C环境
- 在Centos7上搭建Objective-C环境
- ubuntu14.04上搭建android开发环境
- 使用GNUstep在Windows上搭建Objective-C开发环境所遇问题的解决
- Linux开发环境搭建03---Ubuntu14.04在VMware12上设置
- 在CentOS上搭建C开发环境
- 在CentOS上搭建C开发环境
- Objective-C在windows开发环境的搭建
- 如何在ubuntu下搭建Objective-C开发环境
- 在Ubuntu 10.04中搭建Objective-C 开发环境
- 在Windows下搭建Objective C开发环境
- 在Ubuntu 10.04中搭建Objective-C 开发环境
- 在 Ubuntu 中使用 GNUstep 搭建 Objective-C 开发环境
- 在Ubuntu 10.04中搭建Objective-C 开发环境
- 在Ubuntu 10.04中搭建Objective-C 开发环境
- 在Ubuntu 10.04中搭建Objective-C 开发环境
- Linux文件权限详解
- 服务器get post 请求回调
- hdu--最小生成树之百岛湖
- Present ViewController详解
- 请求数据
- 在ubuntu14.04上搭建Objective-C开发环境
- PullToRefresh一些实用的用法
- Spring +slf4j logger
- Python 面向对象(2)-1
- java核心JVM
- 面试题总结2
- Google推荐的图片加载库Glide介绍
- LeetCode OJ-226. Invert Binary Tree(反转二叉搜索树)
- ajaxFileUpload文件上传Jquery插件