¿Cómo instalar el compilador cruzado de Raspberry Pi en mi máquina host de Linux?

Estoy tratando de hacer una compilación cruzada para que Raspberry Pi funcione en mi máquina Ubuntu.

Durante mis intentos iniciales, estaba usando el compilador arm-linux-gnueabi, que está disponible en el repositorio de Ubuntu. Tengo este trabajo Pude construir todas mis dependencias y usar el compilador cruzado en mi proyecto cmake.

Sin embargo, creo que debería usar la versión hf, así que cambié a arm-linux-gnueabihf. Entonces me di cuenta de que esto no funciona con Raspberry Pi ya que es armv6.

Después de googlear, encontré elcadena de herramientas prefabricada de GitHub.

Descargué la cadena de herramientas, pero realmente no entiendo cómo "instalarla". Extraje los archivos a mi directorio personal. La estructura del directorio se ve así:

/gcc-linearo-arm-linux-gnueabihf-raspbian
    /arm-linux-gnueabihf
        /bin
            (contains g++, gcc, etc)
        /lib
            (contains libstdc++ library)
    /bin
        (contains arm-linux-gnueabihf-g++, arm-linux-gnueabihf-...)
    /lib
        (gcc lib stuff)

Si cambio el directorio a la carpeta bin INNER, puedo compilar un programa de prueba desde el terminal sin ningún problema.

~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/
arm-linux-gnueabihf/bin$ g++ test.cpp -o test

Luego intenté compilar un programa de prueba en la carpeta bin EXTERIOR, que contiene las versiones prefijadas de las herramientas.

 ~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin$ 
 arm-linux-gnueabihf-g++ test.cpp -o test

Sin embargo, cuando trato de usar el compilador ahora (desde fuera del directorio bin interno), no puedo encontrar la biblioteca compartida libstdc ++ que viene con la cadena de herramientas:

arm-linux-gnueabihf-gcc: error while loading shared libraries: 
libstdc++.so.6: cannot open shared object file: No such file or directory.

Además, quiero poder usar el compilador sin tener que navegar al directorio bin. Así que intenté agregar el directorio bin EXTERNO (ya que quiero las versiones con prefijo) y ambos directorios lib en mi PATH:

export PATH=$PATH:~/tools/.../bin
export PATH=$PATH:~/tools/.../lib
export PATH=$PATH:~/tools/.../.../lib

Sin embargo, esto resulta en el mismo error. ¿Cómo debo "instalar" la cadena de herramientas para que pueda usar la cadena de herramientas desde cualquier lugar, al igual que puedo cuando uso los compiladores cruzados del repositorio de Ubuntu?

Respuestas a la pregunta(8)

Su respuesta a la pregunta