¿Usar el compilador GCC en Termux?

No me gusta el compilador de C predeterminado clangproporcionado por Termux. ¿Hay alguna manera de obtener GNU GCC en mi entorno Termux?

Respuestas (4)

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 )

Las instrucciones se han actualizado, para cualquiera que venga aquí, es mejor que verifique el archivo sh en el último enlace.
Estos repositorios no tienen un paquete gcc.
apt install gcc-10(o gcc-9o gcc-8)
@djao no puede encontrar gcc-10?
las instrucciones en la respuesta están desactualizadas y no son válidas, pero todo funciona bien si ejecuta its-pointless.github.io/setup-pointless-repo.sh primero.
which gcc-10 /data/data/com.termux/files/usr/bin/gcc-10 $ gcc-10 --version gcc-10 (GCC) 10.3.0
¿Hay algún comando en termux para cambiar los compiladores b/w? Como cambio a gcc-10 de clang

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.zipa

/data/data/com.termux/files/usr/libexec

Aplicar a chmod -R 644toda la carpeta ya , y . Vincule los programas de gcc y podrá usar GCC en lugar de Clang. Recuerde agregar al compilar ejecutables.chmod -R 755ARCH/binbinlibexec$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-develpara instalar el entorno del desarrollador que incluye GCC.Arch Linux en Termux PRoot

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
Es posible que desee agregar de confianza si apt se queja askubuntu.com/a/1050824/1068697