2011-11-26 173 views
1

我嘗試編譯的ObjectiveC的Hello World在越獄的iPad 2編譯的ObjectiveC你好世界上的iPad 2

gcc的已經適用於C/C++在我的iPad。我得到了沒有問題的OpenEXR。 我從iPhoneOS 4.2 SDK複製了框架頭文件/ lib並安裝了「iPhone 2.0 Toolchain」。

用命令:

gcc -I/private/var/include -framework Foundation hello.m 

我用了2種錯誤:

ld warning: bad symbol version: $ld$add$os3.2$_OBJC_METACLASS_$_NSURL in dylib /System/Library/Frameworks//Foundation.framework/Foundation 
ld: file not found: /usr/lib/libobjc.A.dylib 

我在哪裏可以找到文件「libobjc.A.dylib」還是我失去了在任何工具鏈?

+1

從您發佈的代碼中可以看出,您在引用Foundation框架時會出現雙斜槓;至於庫文件,搜索你的Mac和/或開發者文件夾,你應該在那裏找到它。 – Luke

+0

問題是我沒有Mac呢...我假設庫文件在iOS SDK包中可用,但是還沒有找到它。 – mljack

+0

最後,我發現它是在SDK包中,但在Windows資源管理器中搜索「objc」將不會返回任何圖書館......感謝盧克! – mljack

回答

1

您必須從/ var/sdk/usr/lib中找到缺少的lib,並將其複製或符號鏈接到所需的路徑。當你將「cydia」toolcahin和一個SDK混合在一起時,要小心,因爲你可能得不到你所期望的(通常,很多警告和更多的符號鏈接庫)。 這是因爲這些工具(主要是ld)認爲您正在使用2.0工具鏈,並警告稍後引入的方法。