Ik probeer Boost te cross compilen voor een ARM processor van Texas Instruments, vanuit een linux omgeving.
De toolchain hiervoor is gebaseerd op GCC. De verschillende tools (gcc, ar, ranlib) hebben als prexif "arm_v5t_le-" De documentatie van Boost over cross compilen is wat summier. Wat ik gedaan heb is het volgende:
In user-config.jam heb ik de volgende regel toegevoegd: using gcc : arm : arm_v5t_le-g++ ;
Aan bjam geef ik het volgende mee:
De optie --toolset-root heb ik hier gevonden.
Tijdens het linken van de applicatie (ik link tegen boost-system-mt) krijg ik de foutmelding: libboost_system-mt.a: could not read symbols: Archive has no index; run ranlib to add one
Wanneer ik arm_v5t_le-ranlib op dat archive uitvoer, kan ik daarna wel linken. Ik vermoed dat bjam gewoon "ar" aanroept en dus niet arm_v5t_le-ar. Klopt dit vermoeden? Kan ik bjam vertellen welke ar gebruikt moet worden?
Op een mailinglist kwam ik tegen dat je -sRANLIB -sAR kan gebruiken om het path naar ar en ranlib op te geven. Dit lijkt helaas niet meer ondersteund te worden. Ik heb geen idee hoe ik dit nu verder moet aan pakken...
De toolchain hiervoor is gebaseerd op GCC. De verschillende tools (gcc, ar, ranlib) hebben als prexif "arm_v5t_le-" De documentatie van Boost over cross compilen is wat summier. Wat ik gedaan heb is het volgende:
In user-config.jam heb ik de volgende regel toegevoegd: using gcc : arm : arm_v5t_le-g++ ;
Aan bjam geef ik het volgende mee:
code:
1
| bjam toolset=gcc-arm --toolset-root=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin <de rest van de build opties> |
De optie --toolset-root heb ik hier gevonden.
Tijdens het linken van de applicatie (ik link tegen boost-system-mt) krijg ik de foutmelding: libboost_system-mt.a: could not read symbols: Archive has no index; run ranlib to add one
Wanneer ik arm_v5t_le-ranlib op dat archive uitvoer, kan ik daarna wel linken. Ik vermoed dat bjam gewoon "ar" aanroept en dus niet arm_v5t_le-ar. Klopt dit vermoeden? Kan ik bjam vertellen welke ar gebruikt moet worden?
Op een mailinglist kwam ik tegen dat je -sRANLIB -sAR kan gebruiken om het path naar ar en ranlib op te geven. Dit lijkt helaas niet meer ondersteund te worden. Ik heb geen idee hoe ik dit nu verder moet aan pakken...
Lorem
Whenever we feel the need to comment something, we write a method instead. - Martin Fowler
People who think they know everything really annoy those of us who know we don't - Bjarne Stroustrup