Alternatives au commutateur --sysroot de gcc?
La --sysroot
commutateur est utile lorsque vous ne souhaitez pas les en-têtes et les bibliothèques dans la norme chemins affecter votre build.
--sysroot=dir
: Utiliser dir que la logique de répertoire racine pour les en-têtes et
des bibliothèques. Par exemple, si l'
compilateur aurait normalement, recherche pour
les en-têtes dans /usr/include et les bibliothèques
dans /usr/lib, il sera à la place de la recherche
dir/usr/include et dir/usr/lib. [réf]
Peut la même chose être réalisé grâce à l'utilisation de variables d'environnement, le gcc spécifications fichier, ou tout autre méthodes qui ne nécessitent pas de commutateurs de ligne de commande?
source d'informationauteur netvope
Vous devez vous connecter pour publier un commentaire.
Si vous pouvez utiliser des variables d'environnement, vous pouvez ajouter l'option --sysroot à CFLAGS.
Vous pouvez créer un script de lancement autour de gcc qui exécute le réel gcc avec les options que vous souhaitez. Cela fonctionne avec les fichiers Makefile et complexe construit qui mess avec les variables d'environnement. Vous avez seulement besoin de s'assurer que votre gcc script est plus haut dans le CHEMIN d'accès que de la gcc binaire. Le script lui-même est à seulement deux lignes,
et si
$HOME/bin
est le début de votre CHEMIN, vous pouvez mettre le script dans$HOME/bin
et elle n'affectera pas les autres utilisateurs.Si vous avez un
configure
script expressément recherchegcc
dans/usr/bin/
vous devrez peut-être renommer/usr/bin/gcc
à/usr/bin/gcc.bin
et le nom de votre script/usr/bin/gcc
. Cela va affecter tous les utilisateurs. Si vous avez besoin de cela, mais aussi le voulez pour n'affecter que certaines utilisateur ou les utilisateurs, l'utilisationVous pouvez faire des variantes, par exemple, des comptes d'utilisateurs spécifiques ou les appartenances de groupe pour définir un sysroot, en utilisant le même schéma.