[問題] 使用c++ library

看板MacDev作者 (白毛)時間12年前 (2013/04/03 10:26), 編輯推噓5(5016)
留言21則, 5人參與, 最新討論串1/1
請問在Objective-C裡如何使用C++ libary呢? 客戶那邊的source code是C++寫成的 對方問我們要包成什麼樣的形式我們才可以使用 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.176.151

04/03 10:34, , 1F
就...原始碼的形式啊,你可以查查看Objective-C++,基本
04/03 10:34, 1F

04/03 10:35, , 2F
上就是Obj-C和C++之間的橋梁
04/03 10:35, 2F

04/03 10:36, , 3F
呃...可是我們沒辦拿到C++的source code
04/03 10:36, 3F

04/03 10:37, , 4F
我知道Objective-C++可以同時存在Objective-C跟C++
04/03 10:37, 4F

04/03 10:38, , 5F
但是我們只能拿到.a或.o檔之類的 不能拿到.cpp or .mm
04/03 10:38, 5F

04/03 10:49, , 6F
那就是拿.a檔和.h header檔,然後自己寫Obj-C++物件當橋
04/03 10:49, 6F

04/03 12:11, , 7F
樓上正解
04/03 12:11, 7F

04/03 13:09, , 8F
順便問一個問題~~如果拿到的是.jar檔有辦法接嗎?
04/03 13:09, 8F

04/03 13:10, , 9F
以前Cocoa可以橋接Java,現在應該已經不行了 @.@
04/03 13:10, 9F

04/03 16:40, , 10F
那對方要怎麼編出這個.a檔呢?
04/03 16:40, 10F

04/03 16:42, , 11F
因為我在terminal用g++ -c source.cpp
04/03 16:42, 11F

04/03 16:43, , 12F
ar rvs source.a source.o
04/03 16:43, 12F

04/03 16:44, , 13F
然後我把source.a拿到iOS project裡用, 結果不能跑
04/03 16:44, 13F
※ 編輯: whitefur 來自: 220.132.176.151 (04/03 16:45)

04/03 16:45, , 14F
一定要Xcode的Cocoa Touch Static Library project編出來
04/03 16:45, 14F

04/03 16:46, , 15F
的.a檔才能用在iOS project裡嗎?謝謝
04/03 16:46, 15F

04/03 17:02, , 16F
簡單來說,是的。因為編譯出來的.a是要跑在ARM CPU上的
04/03 17:02, 16F

04/03 17:02, , 17F
除非你要自己下gcc參數,不然用template比較方便
04/03 17:02, 17F

04/03 17:03, , 18F
我說的template就是那些project樣板,不是C++的template
04/03 17:03, 18F

04/03 17:42, , 19F
我懂了!謝謝!
04/03 17:42, 19F

04/03 20:02, , 20F
不止 ARM 還要有 simulator 用的 binary, 除非你不用模擬
04/03 20:02, 20F

04/03 20:02, , 21F
器測試一律使用實機
04/03 20:02, 21F
文章代碼(AID): #1HMvDEFQ (MacDev)
文章代碼(AID): #1HMvDEFQ (MacDev)