2012-07-02 53 views
2

我試圖在我的iPhone應用程序中使用Google的v8。 我使用「make arm」構建了庫,如Google網站上所述。 不幸的是,我收到了幾個鏈接器錯誤,告訴我該庫是爲「歸檔」構建的。如何爲armv7構建V8

終端告訴我,該庫的架構是i386的:

lipo -info libv8_base.a 
input file libv8_base.a is not a fat file 
Non-fat file: libv8_base.a is architecture: i386 

所以,實際上,我怎麼建立一個ARMv7的圖書館嗎?

順便說一句:我真的不知道這個圖書館建設的東西。也許我只能在實際的ARM設備上爲ARM構建?我不明白爲什麼我無法在任何地方下載預建文件。

+5

V8是一個即時編譯器。這在AppStore中是不允許的(因此谷歌自己的iOS版Chrome應用不使用V8)。 – vcsjones

+1

好吧,但我仍然想知道是什麼問題.. – HenryLadung

回答

0

您可以在v8 wiki上找到ARM的交叉編譯指令。

當x86機器

make arm 

上運行建立一個模擬器,並非實際ARM二進制。

您也可以編譯釋放外殼本身,如果你有ARM硬件:

scons arch=arm -j2 

編輯:
您可能還需要了解cross-compilation

0

在v8源代碼中有一個用於armv7的模擬器。如果你檢查v8/src/arm /你會發現模擬器文件。 要構建,請確保您的CC,CXX和LINK指向本地gcc/g ++工具。然後做

Make arm.release -j8 

這將使arm和查看* .gypi文件的更多構建選項。希望這是有用的。