› Foros › Multiplataforma › Desarrollo
/home/user/NDS/
/home/user/NDS/devkitPro
devkitARM/
libnds/
PAlib/
PAlibDoc Eng/
PAlibDoc Fr/
PAlibExamples/
PAlibTemplate/
kedit /home/user/.bashrc &
export DEVKITARM=~/NDS/devkitPro/devkitARM
export DEVKITPRO=~/NDS/devkitPro
export PAPATH=~/NDS/devkitPro/PAlib
export LIBNDS_INCLUDE=~/NDS/devkitPro/libnds/include
export LIBNDS_LIB=~/NDS/devkitPro/libnds/lib
export LIBNDS=~/NDS/devkitPro/libnds
chsh
Cambiando intérprete de órdenes para user.
Nuevo intérprete de órdenes [/bin/bashrc]:
Cambiando intérprete de órdenes para user.
Nuevo intérprete de órdenes [/bin/bashrc]: /home/user/bashrc
make clean
make
Me voy a permitir hacerte unas correcciones y añadir algunas cosas.
FAQ:
¿Que es GNU/Linux?
Es un Sistema Operativo muy molón basado en UNIX, ideal para programar en C y que cada vez más usuarios usan.
1* Bajando el kit:
Para comenzar necesitamos descargarnos los paquetes para preparar el entorno de programación. Este consta de varios elementos:
DevkitARM - Compiladores y herramientas para los procesadores de NDS. Consigue la última versión para LINUX de aquí.
libnds - Bibliotecas de programación para NDS. Consígue la última versión aquí.
PAlib - Bibliotecas simplificadas basadas en las anteriores. Descarga la última versión COMPLETE en 7z o Zip de aquí.
2* Preparando el entorno:
Descomprime los archivos descargados.
Vamos a crear una estructura de directorios de ejemplo. Si quieres crear otra asegúrate de adecuar posteriormente los EXPORT en el archivo .bashrc. En este proceso asegúrate de respetar las mayúsculas.
Crea en tu directorio personal /home/tu_usuario (en adelante ~ )* una carpeta llamada NDS. Dentro de esta, crea un directorio llamado devkitPro y en este metes las carpetas que descomprimistes de los 3 archivos arriba indicados.
* Para escribir el símbolo ~ hay que pulsar ALT GR + 4
El árbol de directorios quedará como sigue*:
~
/NDS
/devkitPro
/devkitARM
/libnds
/PAlib
/PAlibDoc Eng
/PAlibDoc Fr
/PAlibExamples
/PAlibTemplate
(Nota: asegurate que son las carpetas principales y no haya subcarpetas, ej. /PAlib/PAlib o /devkitARM/devkitARM, puede ocurrir dependiendo del modo en que descomprimas los archivos.)
* Puedes borrar la documentación en Inglés o Francés si desconoces alguno de los 2 idiomas, de todos modos te aconsejo que al menos mantengas una para tener una referencia de las funciones
3* Poniendo a punto el entorno:
Primero editamos el archivo ~/.bashrc . Si no lo ves, que es lo normal (en los sistemas UNIX los archivos que comienzan por un . son ocultos), busca la opción de mostrar archivos ocultos en tu navegador de archivos para que te lo muestre.
Una vez abierto, añade al final de este archivo las siguientes líneas*:
export DEVKITARM=~/NDS/devkitPro/devkitARM
export DEVKITPRO=~/NDS/devkitPro
export PAPATH=~/NDS/devkitPro/PAlib
export LIBNDS_INCLUDE=~/NDS/devkitPro/libnds/include
export LIBNDS_LIB=~/NDS/devkitPro/libnds/lib
export LIBNDS=~/NDS/devkitPro/libnds
Deja una línea en blanco al final del archivo.
* Recuerda que si escogistes crear otro árbol de directorios debes adecuar los directorios de los export
Si en tu ~ no existiera el archivo .bashrc indicaría que no utilizas BASH como shell, para cambiar esto en terminal o consola escribe
chsh bash
echo $SHELL
Esta última línea debería tener como salida "bash", lo que confirma que estás utilizando la Shell de BASH y debe haberse creado el archivo ~/.bashrc , si aún así no existe símplemente crea un nuevo archivo de texto en tu ~ y llámalo .bashrc
** Aquí grey_fox indica que si no existe el fichero .bashrc copies un archivo de /bin/ y que andes metiéndote como root para editar, etc. Yo creo que esto no es necesario y con lo de arriba vale. **
Ahora vamos a la carpeta ~/NDS/devkitPro/devkitARM/bin y enlazamos todos los archivos a la carpeta /usr/local/bin
Puedes hacer esto de 2 modos:
+ Con un administrador de archivos en modo root, es coger y seleccionar todos los archivos de ~/NDS/devkitPro/devkitARM/bin, moverlos hasta la capeta /usr/local/bin y decirle "enlazar aqui".
+ Con una terminal o consola, como root (escribe su y luego la contraseña de root) escribe:ln -s ~/NDS/devkitPro/devkitARM/bin/* /usr/local/bin
Para finalizar, ve a la carpeta ~/NDS/devkitPro/PAlib y da permiso de ejecución a install.sh y a CPPinstall.sh, cada uno de ellos prepara las bibliotecas PAlib para trabajar con un lenguaje de programación u otro. NO sirven para ambos indistintamente. Si quieres tener las bibliotecas compiladas de ambas formas puedes copiar la carpeta PAlib y pegarla como PAlib++, compilando la 1ª para C con install.sh y la segunda para C++ con CPPinstall.sh
Ahora en una terminal o consola y ve a ~/NDS/devkitPro/PAlib y escribeo./install.sh
para compilar las bibliotecas../CPPinstall.sh
Este es el final de la configuración, vamos a probar como funciona...
4* Compilando Hombrew:
Para comprobar que todo está bien instalado en una terminal o consola nos vamos a ~/NDS/devkitPro/PAlibExamples , carpeta que tiene ejemplos de las distintas funciones que implementan las PAlibs
Elige el clásico Hello World como ejemplo, está dentro de Text/HelloWorld.
Para compilar el homebrew escribimos en la terminal o consola lo siguiente:Si todo está bien configurado se habrá compilado perfectamente.make clean
make
PD. espero no haberme comido ningun paso o que haya quedado explicado. si surgiera algun improvisto intentaria reeditarlo para que quedara mejor explicado.
PA_Mode7.c
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c: In function 'hbl_mode7':
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c:76: error: 'REG_VCOUNT' undeclared (first use in this function)
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c:76: error: (Each undeclared identifier is reported only once
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c:76: error: for each function it appears in.)
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c: In function 'm7_hbl_flr':
/home/daniel/NDS/devkitPro/PAlib/lib/arm9/PA/PA_Mode7.c:133: error: 'REG_VCOUNT' undeclared (first use in this function)
make[2]: *** [PA_Mode7.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/home/daniel/NDS/devkitPro/PAlib/lib/arm9'
make: *** [all] Error 2
/home/daniel/NDS/devkitPro/devkitARM/arm-eabi/bin/ar -cr lib/libpa7.a lib/arm7/build/command7.o lib/arm7/build/microphone7.o lib/arm7/build/ModFile.o lib/arm7/build/PA.o lib/arm7/build/Sound7.o
/home/daniel/NDS/devkitPro/devkitARM/arm-eabi/bin/ar -cr lib/libpa9.a lib/arm9/build/gba-jpeg-decode.o lib/arm9/build/PA.o lib/arm9/build/PA_Draw.o lib/arm9/build/PA_Draw8bit.o lib/arm9/build/PA_Draw16bit.o lib/arm9/build/PA_Keys.o lib/arm9/build/PA_Math.o lib/arm9/build/PA_Reco.o lib/arm9/build/PA_Sprite.o lib/arm9/build/PA_BgTiles.o lib/arm9/build/PA_BgLargeMap.o lib/arm9/build/PA_Mode7.o lib/arm9/build/PA_Text.o lib/arm9/build/PA_Text8bit.o lib/arm9/build/PA_Interrupt.o lib/arm9/build/PA_Palette.o lib/arm9/build/palib.o lib/arm9/build/Sound9.o lib/arm9/build/PA_16c.o lib/arm9/build/disc_io.o lib/arm9/build/gba_nds_fat.o lib/arm9/build/io_efa2.o lib/arm9/build/io_fcsr.o lib/arm9/build/io_m3cf.o lib/arm9/build/io_m3sd.o lib/arm9/build/io_mpcf.o lib/arm9/build/io_nmmc.o lib/arm9/build/io_sccf.o lib/arm9/build/io_scsd.o lib/arm9/build/io_sccf.o lib/arm9/build/PA_API.o lib/arm9/build/PA_GBFS.o lib/arm9/build/PA_Gif.o lib/arm9/build/PA_3D.o lib/arm9/build/palib.o lib/arm9/build/keyboard.raw.o lib/arm9/build/keyboard.map.o lib/arm9/build/keyboard.pal.o lib/arm9/build/PA_Keyboard.o lib/arm9/build/PA_IA.o lib/arm9/build/PA_IA.o lib/arm9/build/PA_FS.o lib/arm9/build/PA_Sound.o lib/arm9/build/PA_Timer.o lib/arm9/build/PA_Wifi.o lib/arm9/build/PA_SplashEyes.o lib/arm9/build/PA_SplashBlue.o lib/arm9/build/dgif_lib.o lib/arm9/build/gif_err.o lib/arm9/build/gif_font.o lib/arm9/build/gifalloc.o lib/arm9/build/quantize.o
/home/daniel/NDS/devkitPro/devkitARM/arm-eabi/bin/ar: lib/arm9/build/PA_Reco.o: No such file or directory
make: *** [archive] Error 1
#! /bin/bash
# Onir Installation Script
# Preparando el sistema de ficheros
#
echo
echo 'Este script descargará todo los archivos necesarios para que comiences a programar en Linux.'
read
echo 'Accediendo al HOME del usuario: ' $HOME '...'
cd $HOME
echo 'Creando carpeta devkitpro...' $HOME'/devkitpro'
mkdir devkitpro
#
# Descargando Palib Beta2
#
echo 'Descargando Palib'
cd devkitpro
wget [url]http://www.palib.info/Beta/PAlibBETA2.zip[/url]
echo 'Descomprimiendo Palib'
unzip PAlibBETA2.zip
rm PAlibBETA2.zip
#
# Descargando LibNds
#
echo 'Descargando Libnds'
mkdir libnds
cd libnds
wget [url]http://ovh.dl.sourceforge.net/sourceforge/devkitpro/libnds-20060719.tar.bz2[/url]
echo 'Descomprimiendo Libnds'
bunzip2 libnds-20060719.tar.bz2
tar xvf libnds-20060719.tar
rm libnds-20060719.tar
#
# Descargando DevKitARM
#
echo 'Descargando devKitARM'
cd $HOME/devkitpro
wget [url]http://ovh.dl.sourceforge.net/sourceforge/devkitpro/devkitARM_r19b-linux.tar.bz2[/url]
echo 'Descomprimiendo devKitARM'
bunzip2 devkitARM_r19b-linux.tar.bz2
tar xvf devkitARM_r19b-linux.tar
rm devkitARM_r19b-linux.tar
#
# Descargando dsWifi
#
echo 'Descargando dsWifi'
cd $HOME/devkitpro/libnds
wget [url]http://ovh.dl.sourceforge.net/sourceforge/devkitpro/dswifi-0.3b.tar.bz2[/url]
bunzip2 dswifi-0.3b.tar.bz2
tar xvf dswifi-0.3b.tar
rm dswifi-0.3b.tar
#
# Ejecutando la configuracion de Palib
#
echo ' Pulse ENTER para ejecutar la configuración de PAlib'
read
cd /home/$USER/devkitpro/PAlib
sh install.sh
hugo@hugo-laptop:~/devkitpro/PAlibExamples/Text/HelloWorld$ make
Makefile:18: *** "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM. Alto.
si el bashrc no lo tuvieras en home/user/ puedes copiar el que hay en /bin/bashrc
a dentro de /home/user/ y editarlo añadiendo los export anteriores.
si habeis copiado el bashrc a /home/user/ tendras que editar tambien el archivo
que shell, que esta dentro de /etc/ ( /etc/shell ) y añadimos la ruta del bash /home/user/bashrc
si hacemos esto ultimo cambiamos las variables bashrc con lo siguiente
ejcutamos en la consola
chsh
y nos saldra esto
Cambiando intérprete de órdenes para user.
Nuevo intérprete de órdenes [/bin/bashrc]:
tecleamos la ruta de donde metimos el bashrc y nos quedaria asi
Cambiando intérprete de órdenes para user.
Nuevo intérprete de órdenes [/bin/bashrc]: /home/user/bashrc
G-kar escribió:No si lo del eclipse esta muy bien, pero ¿y para generar el makefile con las reglas de compilación?.
Por cierto ya que dices que programas extensines para eclipse, no se si te sonará una que se llama Jigloo, es para hacer ventanitas y tal para windows en java ¿hay alguna extensión similar a jigloo pero que funcione en linux?.
Gracias
zeroshcr escribió:Hola!
He intentado hacer una prueba para verificar que todo está correctamente instalado, conforme viene en el script que he puesto antes. El tema es que me da error y tampoco se por que es porque poca chicha se yo de esto. Estoy en ubuntu, y la consola me escupe esto cuando intento hacer el make del "Hola mundo" que viene como ejemplo en las PAlibshugo@hugo-laptop:~/devkitpro/PAlibExamples/Text/HelloWorld$ make
Makefile:18: *** "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM. Alto.
Un saludo!