作者whitefur (白毛)
看板MacDev
标题[问题] 使用c++ library
时间Wed Apr 3 10:26:20 2013
请问在Objective-C里如何使用C++ libary呢?
客户那边的source code是C++写成的
对方问我们要包成什麽样的形式我们才可以使用
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.176.151
1F:推 Blueshiva:就...原始码的形式啊,你可以查查看Objective-C++,基本 04/03 10:34
2F:→ Blueshiva:上就是Obj-C和C++之间的桥梁 04/03 10:35
3F:→ whitefur:呃...可是我们没办拿到C++的source code 04/03 10:36
4F:→ whitefur:我知道Objective-C++可以同时存在Objective-C跟C++ 04/03 10:37
5F:→ whitefur:但是我们只能拿到.a或.o档之类的 不能拿到.cpp or .mm 04/03 10:38
6F:推 Blueshiva:那就是拿.a档和.h header档,然後自己写Obj-C++物件当桥 04/03 10:49
7F:→ s8911124:楼上正解 04/03 12:11
8F:推 charlesdc:顺便问一个问题~~如果拿到的是.jar档有办法接吗? 04/03 13:09
9F:推 Blueshiva:以前Cocoa可以桥接Java,现在应该已经不行了 @.@ 04/03 13:10
10F:→ whitefur:那对方要怎麽编出这个.a档呢? 04/03 16:40
11F:→ whitefur:因为我在terminal用g++ -c source.cpp 04/03 16:42
12F:→ whitefur:ar rvs source.a source.o 04/03 16:43
13F:→ whitefur:然後我把source.a拿到iOS project里用, 结果不能跑 04/03 16:44
※ 编辑: whitefur 来自: 220.132.176.151 (04/03 16:45)
14F:→ whitefur:一定要Xcode的Cocoa Touch Static Library project编出来 04/03 16:45
15F:→ whitefur:的.a档才能用在iOS project里吗?谢谢 04/03 16:46
16F:推 Blueshiva:简单来说,是的。因为编译出来的.a是要跑在ARM CPU上的 04/03 17:02
17F:→ Blueshiva:除非你要自己下gcc参数,不然用template比较方便 04/03 17:02
18F:→ Blueshiva:我说的template就是那些project样板,不是C++的template 04/03 17:03
19F:→ whitefur:我懂了!谢谢! 04/03 17:42
20F:→ uranusjr:不止 ARM 还要有 simulator 用的 binary, 除非你不用模拟 04/03 20:02
21F:→ uranusjr:器测试一律使用实机 04/03 20:02