2012-11-06 22 views
7

Sto cercando di capire cosa significa una toolchain autonoma. Di seguito sono le mie conclusioni. Una toolchain pronta per l'uso con tutte le configurazioni che sono le intestazioni e le librerie di sistema nel percorso corretto. Per Android avrà anche le intestazioni API nel percorso in cui la toolchain può cercarlo. Perché il termine "standalone"? Questo probabilmente sarà diverso dalla normale toolchain nel senso che la R T dovrà essere configurata e resa pronta per l'uso con i percorsi di intestazione di sysroot e libc dati ecc. Si prega di commentare.Che cos'è la toolchain indipendente?

Hmm, stavo compilando per Android e un processo stava eseguendo uno script chiamato make-standalone-toolchain.sh è stata creata una toolchain autonoma. Stavo passando questo script per capire cosa stia facendo. Non molto bravo nello script di shell. Ma ho scoperto certe cose. "" Genera un'installazione di toolchain Android personalizzata che include un sysroot funzionante. Il risultato è qualcosa che può essere più facilmente usato come un cross-compilatore autonomo, ad es. per eseguire configure e creare script. "--toolchain arch ndk-dir pacchetto-dir le variabili di piattaforma del sistema sono impostate Fonte di calcolo sysroot SRC_SYSROOT =" $ NDK_DIR/piattaforme/$ PLATFORM arch- $ ARCH "Copia di intestazioni e librerie sysroot ... libstdC++ headers e librerie ... binari precompilati in una cartella temporanea quindi una copia da Tmp dir per installare la directory creando un tar cioè un file di pacchetto per aggiungere il tmpdir voleva sapere cosa sta accadendo esattamente qui o un link o suggerimento dove a look.but naturalmente non volete leggere i manuali molto elaborati ~

+0

per favore fornisci alcune informazioni su ciò che hai provato, a cosa stai mirando, la domanda sembra essere ampia al momento. –

+0

Questa risposta ha un ottimo esempio di come usarlo: http://stackoverflow.com/a/16784582/895245 –

risposta

5

Questo blog distacco può rispondere alla tua domanda:.

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

Esiste un metodo consigliato per creare un programma C/C++ nativo su Android: elenca i file sorgente in uno script (Android.mk) ed esegui "ndk-build". Potrebbe non essere un problema se stai scrivendo nuovi programmi, ma se hai già uno script di build funzionante (come quei software open source) che possono aiutarti a creare un programma su Linux, sarebbe un grosso problema migrare lo script su Android.mk . Tutto ciò che serve in questa situazione è un cross compilatore C/C++ e quindi sostituire le variabili nel tuo script (come CC, CXX, AR, AS, RANLIB, ...) in qualcosa come "arm-linux-androideabi-gcc" , 'arm-linux-androideabi-g ++', ...

Fortunatley, all'interno dell 'Android NDK Dev Guide', v'è una sezione 'standalone toolchain' che ha appena descrive quello che ci serve ....