Posiadam działający crosschompiler toolchain, dzięki crosstool-ng :) - jednak crosstool-ng jest bardzo rzadko udokumentowany, a ja jestem zupełnie nowy w tworzeniu kompilacji. Konkretny host i cel nie są, jak sądzę, ważne w tym kontekście.crosstool-ng, struktura katalogów i sysroot
Mam kilka podstawowych pytań dotyczących struktury katalogów. Łańcuch narzędzi został zainstalowany w katalogu nazwanym po celu. Wewnątrz że to zestaw katalogów:
arm-unknown-linux-gnueabi
bin
include
lib
libexec
share
przypuszczam to dla rzeczywistych bitów cross-kompilatora, ponieważ kompilatory w bin/pracują w tym celu. Zauważ, że istnieje katalog wewnętrzny-nieznany-linux-gnueabi /, tzn. Ścieżka jest tam ../arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi
. Wewnątrz znajduje się inne drzewo:
bin
debug-root
include
lib
lib32
lib64
sysroot
Katalogi lib * są dowiązaniami symbolicznymi do sysroot /. Rzeczy w bin wydaje się być ten sam zestaw narzędzi cross-kompilacji jak w katalogu nadrzędnego/bin:
> bin/gcc -v
Using built-in specs.
COLLECT_GCC=./gcc
Target: arm-unknown-linux-gnueabi
Configured with: /usr/x-tool/.build/src/gcc-4.7.2/configure
--build=x86_64-build_unknown-linux-gnu
--host=x86_64-build_unknown-linux-gnu
--target=arm-unknown-linux-gnueabi
więc moje pierwsze pytaniebrzmi: co to jest za? Do czego służy ten katalog?
Moje drugie pytanie to: jak powinno się używać sysroot/używać? Jest to najwyraźniej dla bibliotek pomocniczych natywnych dla platformy docelowej, więc zakładam, że gdybym budował taką bibliotekę, powinienem użyć jej jako --prefix
, chociaż byłoby to równoznaczne z używaniem katalogu nadrzędnego, ponieważ lib * jest dowiązaniem symbolicznym ... ten "katalog pośrodku" z binem i dowiązaniami symbolicznymi do sysroota jest mylący. Wierzę, że (niektóre) pakiety stylu autotools można skonfigurować "--with-sysroot". Jakie jest znaczenie tego, jeśli widzę, i jak należy go używać w odniesieniu do innych opcji, takich jak --prefiks, itp.?
I * jeszcze * gdyby nie zauważyli dwa pojemniki zawierają hardlinki! – delicateLatticeworkFever
Bez względu na to, czy są to twarde linki czy nie, mają taką samą sumę kontrolną md5 – Like