No me gusta el compilador de C predeterminado clang
proporcionado por Termux. ¿Hay alguna manera de obtener GNU GCC en mi entorno Termux?
Otra forma de obtener gcc sería agregar el repositorio de la comunidad alojado por its-pointless en https://github.com/its-pointless/its-pointless.github.io . Las fuentes están (más o menos) disponibles en https://github.com/its-pointless/gcc_termux .
Otros paquetes populares disponibles incluyen numpy y scipy.
Puede encontrar más información sobre este y otros repositorios de la comunidad en la wiki de termux .
Para agregar este repositorio en particular a su entorno termux, ejecute:
# 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
(instrucciones tomadas de https://github.com/its-pointless/its-pointless.github.io/blob/master/setup-pointless-repo.sh )
Esta es una solución muy interesante.
Primero descargue GCC para C4droid desde Google Play.
Vaya a buscar su apk debajo /data/app/com.n0n3m4.gcc4droid-#
, tome el APK y extráigalo /assets/gcc.zip
. Ahora extrae gcc.zip
a
/data/data/com.termux/files/usr/libexec
Aplicar a chmod -R 644
toda la carpeta ya , y . Vincule los programas de gcc y podrá usar GCC en lugar de Clang. Recuerde agregar al compilar ejecutables.chmod -R 755
ARCH/bin
bin
libexec
$PREFIX/bin
-pie
Instale Arch Linux en Termux PRoot para obtener un entorno de desarrollo Linux completo. Consulte https://sdrausty.github.io/TermuxArch/docs/install para obtener instrucciones de instalación. Úselo pacman -S base base-devel
para instalar el entorno del desarrollador que incluye GCC.
Creé termux repo con gcc 10.2.0, allí cómo instalar https://cctools.info/index.php/Termux_repository_with_cctools_packages_(gcc_with_fortran_support_etc)
Agregue la clave pública de los paquetes de cctools:
wget -O - https://cctools.info/public.key | apt-key add -
Crea una nueva lista de repositorios:
echo "deb https://cctools.info termux cctools" > $PREFIX/etc/apt/sources.list.d/cctools.list
Actualizar listas de paquetes:
apt update
Instale el paquete gcc-cctools (instalará binutils-cctools automáticamente):
apt install gcc-cctools
Instale el paquete NDK para su arquitectura de Android, use el último, por ejemplo, para aarch64:
apt install ndk-sysroot-cctools-api-26-aarch64
Para mostrar todos los sysroots de ndk para aarch64:
apt search ndk-sysroot-cctools | grep aarch64
Agregue un directorio con nuevos compiladores a PATH:
export PATH=$PREFIX/../cctools-toolchain/bin:$PATH
Revisalo:
gcc -v
Gayan Kavirathne
Olorín
djao
apt install gcc-10
(ogcc-9
ogcc-8
)kurokirasama
djao
djao
which gcc-10
/data/data/com.termux/files/usr/bin/gcc-10
$ gcc-10 --version
gcc-10 (GCC) 10.3.0
rondador nocturno