2012-11-06 15 views
7

Ich versuche zu verstehen, was eine eigenständige Toolchain bedeutet. Folgendes sind meine Ergebnisse. Eine Toolchain, die mit allen Konfigurationen, die die Systemheader und Bibliotheken im richtigen Pfad sind, verwendet werden kann. Für Android wird es auch die API-Header in dem Pfad haben, wo die Toolchain es nachschlagen kann. Warum der Begriff "Standalone"? Dies wird wahrscheinlich anders sein als die normale Toolchain in dem Sinne, dass das R T konfiguriert und für Android mit den angegebenen Sysroot- und Libc-Headerpfaden etc. bereit gemacht werden muss. Bitte kommentieren.Was ist die eigenständige Toolchain?

Hmm, ich kompilierte für Android und ein Prozess lief ein Skript namens make-standalone-toolchain.sh eine eigenständige Toolchain wird erstellt. Ich war durch dieses Skript zu verstehen, was das tut. Nicht wirklich gut beim Shell-Scripting. Aber bestimmte Dinge ausgemacht. "" Erstellen Sie eine angepasste Android-Toolchain-Installation mit einem funktionierenden Sysroot. Das Ergebnis ist etwas, das leichter als ein eigenständiger Cross-Compiler, z.B. um zu konfigurieren und Skripte zu erstellen. "--toolchain arch ndk-dir Paket-Verzeichnis System-Plattform-Variablen sind gesetzt Compute-Quelle Sysroot SRC_SYSROOT =" $ NDK_DIR/Plattformen/$ PLATFORM arch- $ ARCH "Kopieren Sysroot-Header und Bibliotheken ... libstdC++ headers und libraries ... prebilt binaries.all in einem temporären Ordner dann ein Kopieren von Tmp dir zu installieren dir ein tar erstellen, dh eine Paketdatei zum Hinzufügen der tmpdir wollte wissen, was genau hier passiert oder einen Link oder einen Vorschlag, wo look.but natürlich sehr aufwendig Handbücher lesen möchte nicht ~

+0

Bitte geben Sie einige Informationen darüber, was Sie versucht haben, was Sie anstreben, die Frage scheint zu weit gefasst zu sein. –

+0

Diese Antwort hat ein großartiges Beispiel, wie man es benutzt: http://Stackoverflow.com/a/16784582/895245 –

Antwort

5

Dieser Blog-Posting Ihre Frage beantworten kann.

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

Es gibt eine empfohlene Möglichkeit, natives C/C++ - Programm unter Android zu erstellen: Listen Sie Ihre Quelldateien in einem Skript (Android.mk) auf und führen Sie 'ndk-build' aus. Es mag kein Problem sein, wenn Sie neue Programme schreiben, aber wenn Sie bereits ein funktionierendes Build-Skript haben (wie diese Open-Source-Software), das Sie unter Linux gut programmieren können, wäre es ein Problem, Ihr Skript auf Android.mk zu migrieren . Alles, was Sie in dieser Situation brauchen, ist ein C/C++ - Cross-Compiler und dann ersetzen Sie die Variablen in Ihrem Skript (zB CC, CXX, AR, AS, RANLIB, ...) durch etwas wie 'arm-linux-androideabi-gcc' , 'arm-linux-androideabi-g ++', ...

Fortunatley, in der 'Android NDK Dev Guide', gibt es einen Abschnitt 'Standalone-Toolchain', die nur beschreibt, was wir brauchen ....