2012-11-06 198 views
7

我想了解獨立工具鏈的含義。 以下是我的發現。 準備使用正確路徑中系統標題和庫的所有配置的工具鏈。對於Android,它也將在工具鏈可以查找的路徑中包含API頭文件。爲什麼使用「獨立」這個詞?這可能會不同於普通工具鏈,因爲R T需要配置並準備好android系統和libc頭文件路徑等。 請評論。什麼是獨立工具鏈?

嗯,我正在爲android編譯並且一個進程正在運行一個名爲make-standalone-toolchain.sh的腳本。創建了一個獨立的工具鏈。我正在通過這個腳本來了解它在做什麼。不是很擅長shell腳本。但是做出了某些事情。 「」生成一個定製的Android工具鏈安裝,其中包含一個正在運行的sysroot。結果是可以更容易地用作獨立交叉編譯器的一些東西,例如「--toolchain arch ndk-dir package-dir系統平臺變量已設置計算源sysroot SRC_SYSROOT =」$ NDK_DIR/platforms/$ PLATFORM arch- $ ARCH「複製sysroot頭文件和庫... libstdC++頭文件和庫...預編譯binaries.all到一個臨時文件夾,然後從Tmp拷貝dir來安裝 dir創建一個tar文件,即添加tmpdir的軟件包文件想知道這裏發生了什麼或者鏈接或建議到look.but ofcourse不想讀得很精細手冊 〜

+0

請提供一些有關您嘗試過的內容,您的目標是什麼,這個問題目前似乎很廣泛。 –

+0

這個答案有一個如何使用它的很好的例子:http://stackoverflow.com/a/16784582/895245 –

回答

5

此博客中可以回答你的問題:

http://clseto.mysinablog.com/index.php?op=ViewArticle&articleId=3480794

在Android上建立本機C/C++程序有一個推薦的方法:將源文件列入腳本(Android.mk)並運行'ndk-build'。如果你正在編寫新程序,但如果你已經有了一個可以在Linux上編譯好的工作構建腳本(比如那些開源軟件),那麼這可能不是問題,將腳本遷移到Android.mk會讓你很頭疼。在這種情況下,您只需要一個C/C++交叉編譯器,然後將腳本中的變量(如CC,CXX,AR,AS,RANLIB等)替換爲'arm-linux-androideabi-gcc' '在arm-linux的-androideabi-G ++',...

Fortunatley中,對 'Android NDK開發指南' 裏面,有是一款 '單機工具鏈',這只是說明我們需要什麼....