Je n'aime pas le compilateur C par défaut clang
fourni par Termux. Existe-t-il un moyen d'obtenir GNU GCC dans mon environnement Termux ?
Réponses
Trop de publicités?Une autre façon d'obtenir gcc serait d'ajouter le repo communautaire hébergé par its-pointless à https://github.com/its-pointless/its-pointless.github.io . Les sources sont (plus ou moins) disponibles à l'adresse suivante https://github.com/its-pointless/gcc_termux .
D'autres packages populaires sont disponibles, notamment numpy et scipy.
De plus amples informations sur ce référentiel et d'autres référentiels communautaires sont disponibles dans la rubrique wiki termux .
Pour ajouter ce dépôt particulier à votre environnement termux, exécutez :
# Get some needed tools. coreutils for mkdir command, gnugp for the signing key, and apt-transport-https to actually connect to the repo
apt-get update
apt-get --assume-yes upgrade
apt-get --assume-yes install coreutils gnupg2 apt-transport-https wget
# Make the sources.list.d directory
mkdir $PREFIX/etc/apt/sources.list.d
# Write the needed source file - Added Missing "> character on line below
echo "deb [trusted=yes] https://its-pointless.github.io/files/ termux extras" > $PREFIX/etc/apt/sources.list.d/pointless.list
# Download signing key from https://its-pointless.github.io/pointless.gpg
wget https://its-pointless.github.io/pointless.gpg
apt-key add pointless.gpg
# Update apt
apt update
(instructions tirées de https://github.com/its-pointless/its-pointless.github.io/blob/master/setup-pointless-repo.sh )
Cette solution est très intéressante.
Premier téléchargement GCC pour C4droid sur Google Play.
Trouvez son apk sous /data/app/com.n0n3m4.gcc4droid-#
prendre l'APK et l'extraire /assets/gcc.zip
. Extraire maintenant gcc.zip
à
/data/data/com.termux/files/usr/libexec
Appliquer chmod -R 644
à l'ensemble du dossier et chmod -R 755
à ARCH/bin
, bin
y libexec
. Lier les programmes gcc à $PREFIX/bin
et vous pourrez utiliser GCC au lieu de Clang. N'oubliez pas d'ajouter -pie
lors de la compilation des exécutables.
Installez Arch Linux dans Termux PRoot pour obtenir un environnement de développement Linux complet. Voir aussi https://sdrausty.github.io/TermuxArch/docs/install pour les instructions d'installation. Utilisation pacman -S base base-devel
pour installer l'environnement du développeur qui comprend GCC.
J'ai créé un repo termux avec gcc 10.2.0, comment l'installer ? https://cctools.info/index.php/Termux_repository_with_cctools_packages_(gcc_with_fortran_support_etc)
Ajouter la clé publique des paquets cctools :
wget -O - https://cctools.info/public.key | apt-key add -
Créer une nouvelle liste de dépôt :
echo "deb https://cctools.info termux cctools" > $PREFIX/etc/apt/sources.list.d/cctools.list
Mettre à jour les listes de paquets :
apt update
Installez le paquet gcc-cctools (il installera automatiquement binutils-cctools) :
apt install gcc-cctools
Installez le paquet NDK pour votre architecture Android, utilisez la dernière version, par exemple pour aarch64 :
apt install ndk-sysroot-cctools-api-26-aarch64
Pour afficher tous les ndk sysroots pour aarch64 :
apt search ndk-sysroot-cctools | grep aarch64
Ajouter le répertoire des nouveaux compilateurs à PATH :
export PATH=$PREFIX/../cctools-toolchain/bin:$PATH
Vérifiez-le :
gcc -v