2013-03-13 36 views
0

我期待在Windows上爲Android構建boost的序列化庫。我已經下載了Android NDK r8d,並且升級了1.53。編譯器是否對Boost.Build有用?

在這個過程中的第1步是安裝boost.build,讓我一個bjam或b2可執行文件,我可以用來建立圖書館。

所以我去boost_1_53_0 /工具/建築/ v2和運行boostrap.bat,按照指示在這裏:http://www.boost.org/doc/libs/1_53_0/more/getting_started/windows.html

和失敗。

「CL」不被識別爲內部或外部的命令

BOOTSTRAP.LOG表明該腳本使用MSVC。谷歌搜索這個問題,我找到解決方案,建議我嘗試將GCC添加到我的路徑中,並將GCC附加到引導程序命令。

現在,我還沒有安裝minGW。但是,我不認爲我想使用minGW GCC,因爲這不是我要構建boost庫或我的代碼的原因;我將使用Android NDK提供的GCC。

我是否正確地認爲編譯器Boost.Build的內置是重要的?如果是這樣,我該如何克服這個問題?將NDK編譯器位置添加到Path並嘗試使用arm-linux-androideabi-g ++進行引導不起作用; bootstrap日誌說它不是支持的工具集,我應該使用mscv,gcc等。

回答

0

您應該將NDK工具鏈添加到user-config.jam並在bjam行中選擇此工具集。請參閱following question

更新:您可以使用MSVC構建bjam,然後使用它來調用Android NDK工具集。

+0

您在該鏈接中鏈接的解決方案實際上是使我遇到了這個問題。試圖從boost root運行b2或bjam不是一個公認的命令。 Boost的文檔建議運行build/v2 bootstrap來構建b2並將其添加到Path中。這樣做需要我提供bootstrap.bat與C++編譯器,這導致我這個問題。 您是否介意闡述或糾正我錯誤的假設? – 2013-03-13 16:21:41

+0

@Wes Paugh啊,對不起,我誤解了你的問題。您應該從boost root運行booststrap.bat,而不是從build/v2運行。至少我總是這樣做,到目前爲止效果很好。 – 2013-03-13 16:27:36

+0

謝謝,我認爲這回答我的問題。如果你使用默認編譯器(而不是「bootstrap.bat gcc」)引導,那麼b2和bjam將使用msvc或其他系統C++編譯器構建,而不是android之一。所以,我的問題的答案應該是:'不,你可以用任何可用的C++編譯器構建b2和bjam,並且在通過修改user-config.jam構建諸如序列化之類的boost庫時指定NDK編譯器。謝謝!一旦我測試了它,我會標記這個答案。 – 2013-03-13 16:35:08

相關問題