erwan2004 Posté(e) 12 janvier 2010 Share Posté(e) 12 janvier 2010 Salut, Y a t' il gens qui savent comment programmer sans utiliser le SDK de MS ? Il existe bien Linux mais il est tres peu evoluer (pas d'audio, ni de support de clef usb et du HDD encore moin de la partie graphique). Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 12 janvier 2010 Share Posté(e) 12 janvier 2010 Salut,Y a t' il gens qui savent comment programmer sans utiliser le SDK de MS ? Il existe bien Linux mais il est tres peu evoluer (pas d'audio, ni de support de clef usb et du HDD encore moin de la partie graphique). Depuis quand linux n'a pas d'audio, pas de support de clé usb, ni du HDD et pas d'interface graphique ? Même la version pour xbox gère ça. Si tu veut dev pour la xbox sans le SDK de MS, tu doit passer par libxenon. Tu peut même compiler tes programmes avec Windows si tu veut. http://www.free60.org/Libxenon Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 12 janvier 2010 Auteur Share Posté(e) 12 janvier 2010 Je parlais de l'accélération graphique . Ah ok, le live CD y avait pas tous cas .... y a des versions installable ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 12 janvier 2010 Share Posté(e) 12 janvier 2010 Sisi le live CD à une interface graphique. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 14 janvier 2010 Auteur Share Posté(e) 14 janvier 2010 (modifié) Bon, j'ai réussi a compiler ce pu*ain de toolchain (script de merde) . Mais j'a un problème avec la compilation du cube, ld ne trouve pas le crt1.o . J'ai bricolé des liens, des include (-I) dans le makefile mais rien n'y fait. Si quelqu'un a des infos, je suis preneur . Modifié 14 janvier 2010 par erwan2004 Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 14 janvier 2010 Auteur Share Posté(e) 14 janvier 2010 (modifié) J'ai pas trouvé la solution pour le problème avec LD. Si ca intéresse quelqu'un voila le toolchain revu a ma sauce : #!/bin/bash # originally written by Uwe Hermann <uwe@hermann-uwe.de>, released as public domain. # changed for xenon by Felix Domke <tmbinc@elitedvb.net>, still public domain # Modifie: probleme avec la detection des commandes, rajout d'un patch, rajout de securitres TARGET=xenon #PREFIX="/$HOME/Programmation/Xbox360/xenon" version cygwin PREFIX="$HOME/Programmation/Xbox360/xenon" # Install location of your final toolchain PARALLEL="-j 2" # Or: PARALLEL="" BINUTILS=binutils-2.19.1 GCC=gcc-4.4.0 NEWLIB=newlib-1.17.0 GDB=gdb-6.8 BUILD_BINUTILS=true BUILD_GCC=true BUILD_NEWLIB=true BUILD_GCC_SECOND=true # path to the logfile LOGFILE="`pwd`/build.log" # temp variables export export PATH="$PATH":"$PREFIX/bin" export DEVKITXENON="$HOME/Programmation/Xbox360/xenon" export PATH="$PATH":"$DEVKITXENON/bin":"$DEVKITXENON/usr/bin" #echo $PATH # verifie les commandes sont installees # 0=ok 1= pas commande 2= mauvaise argumentation deteccom () { echo "*****************Check Command**********************" which $1 case $? in 0) echo "$1: Command found/Commande trouvee" ;; 1) echo "*****************ATTENTION**********************" echo "$1: Command no found/Commande non trouvee" echo "*****************ATTENTION**********************" ;; *) echo "Error/Erreur" ;; esac echo "" } checkcommand () { deteccom make deteccom git deteccom gcc deteccom patch deteccom makein fodeteccom flex deteccom bison } libxenon_install () { # controle de la presence de GCC+ if [ ! -e "$PREFIX/bin/xenon-g++" ]; then echo "complateur GCC absent, installez le" exit 1 fi rm -rf free60 &>/dev/null #check if git is present to download and install libxenon echo "***** Downloading libxenon *****" git clone git://free60.git.sourceforge.net/gitroot/free60/free60 >> $LOGFILE 2>&1 #patch pour le probleme avec inc <dirent.h> cp free60/libxenon/drivers/newlib/dirent.h $PREFIX/xenon/include/sys/dirent.h echo "****** Building libxenon *****" make -C free60/libxenon/ports/xenon libxenon.a >> $LOGFILE 2>&1 make -C free60/libxenon/ports/xenon install >> $LOGFILE 2>&1 cp free60/devkitxenon/app.lds free60/devkitxenon/rules $PREFIX/ echo "***** startup crt fix *****" cp free60/libxenon/startup/xenon/crt1.o $PREFIX/lib/ cp free60/libxenon/ports/xenon/crti.o $PREFIX/lib/ cp free60/libxenon/ports/xenon/crtn.o $PREFIX/lib/ # controle de l'installation de libxenon if [ ! -e "$PREFIX/usr/lib/libxenon.a" ]; then echo "libxenon absent, regardez le log" exit 1 fi } toolchain_install () { # Make working directory echo "Creating final xenon toolchain directory: $PREFIX" if [ ! -d $PREFIX ]; then mkdir $PREFIX fi # Check if binutils sources are available, download it if needed if [ ! -f "$BINUTILS.tar.bz2" ]; then echo "Downloading $BINUTILS.tar.bz2" wget -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2 || exit 0 fi # Check if gcc sources are available, download it if needed if [ ! -f "$GCC.tar.bz2" ]; then echo "Downloading $GCC.tar.bz2" wget -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2 || exit 0 fi # Check if newlib sources are available, download it if needed if [ ! -f "$NEWLIB.tar.gz" ]; then echo "Downloading $NEWLIB.tar.gz" wget -c ftp://sources.redhat.com/pub/newlib/$NEWLIB.tar.gz || exit 0 fi rm -rf build mkdir build if $BUILD_BINUTILS; then echo "Extracting binutils..." tar xfj $BINUTILS.tar.bz2 >> $LOGFILE 2>&1 && cat binutils.diff | patch -p0 >> $LOGFILE 2>&1 || exit 0 cd build echo "Configuring binutils..." ../$BINUTILS/configure --target=$TARGET --prefix=$PREFIX --enable-multilib --disable-nls --disable-werror >> $LOGFILE 2>&1 || exit 0 echo "Building binutils, this could take a while..." make $PARALLEL >> $LOGFILE 2>&1 || exit 0 make install >> $LOGFILE 2>&1 || exit 0 cd .. rm -rf build/*; echo "Done" fi if $BUILD_GCC; then echo "Extracting gcc..." tar xfj $GCC.tar.bz2 >> $LOGFILE 2>&1 && cat gcc.diff | patch -p0 >> $LOGFILE 2>&1 || exit 0 cd build echo "Configuring gcc..." ../$GCC/configure --target=$TARGET --prefix=$PREFIX --with-libiconv-prefix=/opt/local -enable-interwork --enable-multilib \ --enable-languages="c" --without-headers --disable-shared \ --with-newlib --disable-libgomp --disable-libmudflap --disable-libssp --disable-nls --disable-shared --disable-threads --without-headers \ --disable-decimal-float \ --with-gmp=/opt/local --with-mpfr=/opt/local --with-cpu=cell >> $LOGFILE 2>&1 || exit 0 echo "Building gcc, this could take a while..." make $PARALLEL all-gcc >> $LOGFILE 2>&1 || exit 0 make install-gcc >> $LOGFILE 2>&1 || exit 0 cd .. rm -rf build/* echo "Done" fi; if $BUILD_NEWLIB; then echo "Extracting newlib..." tar xfz $NEWLIB.tar.gz >> $LOGFILE 2>&1 && cat newlib.diff | patch -p0 >> $LOGFILE 2>&1 || exit 0 cd build echo "Configuring newlib..." ../$NEWLIB/configure --target=$TARGET --prefix=$PREFIX --enable-multilib --disable-nls >> $LOGFILE 2>&1 || exit 0 echo "Building newlib, this could take a while..." make $PARALLEL >> $LOGFILE 2>&1 || exit 0 make install >> $LOGFILE 2>&1 || exit 0 cd .. rm -rf build/* echo "Done" fi if $BUILD_GCC_SECOND; then # Yes, you need to build gcc again! cd build echo "Configuring gcc - 2nd pass..." ../$GCC/configure --target=$TARGET --prefix=$PREFIX --with-libiconv-prefix=/opt/local \ --enable-multilib --with-cpu=cell \ --with-gmp=/opt/local --with-mpfr=/opt/local --disable-decimal-float \ --enable-languages=c,c++ --disable-libssp --with-newlib --enable-cxx-flags="-G0" --disable-libgomp \ --disable-libmudflap --disable-nls --disable-shared --disable-threads --disable-linux-futex \ >> $LOGFILE 2>&1 || exit 0 echo "Building gcc - 2nd pass, this could take a while..." make $PARALLEL >> $LOGFILE 2>&1 || exit 0 make install >> $LOGFILE 2>&1 || exit 0 cd .. rm -rf build/* fi rm -rf build if [ ! -e "$PREFIX/bin/xenon-g++" ]; then echo "complateur GCC absent, regardez le log" exit 1 fi echo "***** Fin du script -toochain- *****" } cube () { if [ ! -e "free60" ]; then echo "Downloading Cube Sample" git clone git://free60.git.sourceforge.net/gitroot/free60/free60 >> $LOGFILE 2>&1 fi echo "Downloading Cube Sample" git clone git://free60.git.sourceforge.net/gitroot/free60/free60 >> $LOGFILE 2>&1 echo "Building Cube Sample..." make -C free60/devkitxenon/examples/xenon/graphics/cube >> $LOGFILE 2>&1 #cp free60/devkitxenon/examples/xenon/graphics/cube/cube.elf32 . if [ ! -e "free60/devkitxenon/examples/xenon/graphics/cube/cube.elf32" ]; then echo "Executable elf absent, regardez le log" exit 1 fi echo echo "cube.elf32 compiled, run it via xell" echo } # clean if [ -e "$LOGFILE" ]; then rm $LOGFILE &>/dev/null fi #menus case "$1" in "toolchain") checkcommand toolchain_install libxenon_install ;; "libxenon") libxenon_install ;; "cube") cube ;; *) echo "Usage:" echo "\"$0 toolchain\" (install toolchain + libxenon)" echo "\"$0 libxenon\" (install or update libxenon)" echo "\"$0 cube\" (compile the cube sample)" echo "Package: libgmp3(-dev) build-essential and libmpfr(-dev)" ;; esac Edit: pensez a vérifier que libgmp3-dev et libmpfr-dev sont installé . Modifié 14 janvier 2010 par erwan2004 Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 14 janvier 2010 Share Posté(e) 14 janvier 2010 Moi aussi LD me fait chier. /usr/local/xenon/lib/gcc/xenon/4.4.0/../../../../xenon/bin/ld: cannot find -lxenon Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 14 janvier 2010 Auteur Share Posté(e) 14 janvier 2010 Moi c'est : /home/test/Programmation/Xbox360/xenon/lib/gcc/xenon/4.4.0/../../../../xenon/bin/ld: crt1.o: No such file: No such file or directorycollect2: ld returned 1 exit status Toi c'est un preoblème de path, fait : export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test/Programmation/Xbox360/xenon/usr/lib Cherche "libxenon.a" (regard dans "xenon/usr/lib") est adapte le chemin du "/home/test/Programmation/Xbox360/xenon/usr/lib" Lien vers le commentaire Partager sur d'autres sites More sharing options...
Shakin Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Bonjour, afin de préserver une organisation la plus lisible possible sur le forum, nous allons déplacer votre sujet dans une section plus appropriée. Merci de votre compréhension. Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Sauf que enfaite mon dossier /home/BestPig/Programmation/Xbox360/xenon/usr/lib n'existe pas. J'ai juste /home/BestPig/Programmation/Xbox360/xenon/usr/ mais il n'y a rien dedans. Le fichier libxenon.a je ne l'ai nul part j'ai fait une recherche. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 15 janvier 2010 Auteur Share Posté(e) 15 janvier 2010 (modifié) La lib n'est pas installé . Compile la lib et regarde le log . Ma boule de cristal me dit que tu a un problème avec "dirent.h" Edit: un lien vers mon script (fichier pour linux, ) http://rwan.fr/ftp/Xbox360/Developpement/Libxenon/ Pour windows avec Notepad++= Edition => Comvertion de fin de ligne => convertir pour Windows . Utilisation: sh build-xenon-toolchain.sh toolchainsh build-xenon-toolchain.sh libxenonsh build-xenon-toolchain.sh cube Modifié 15 janvier 2010 par erwan2004 Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Salut, petite intrusion d'un noob en dev qui a une question peut-être conne, je m'en excuse d'avance, la voici : j'ai cru comprendre qu'on pouvait aussi coder en c# sur XNA, serait-il de même sur SDK ? Merci. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 15 janvier 2010 Auteur Share Posté(e) 15 janvier 2010 (modifié) Non désoler, c'est le SDK de Xenon avec qui ce limite au C et le C++ (peut etre). Modifié 15 janvier 2010 par erwan2004 Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 (modifié) Salut,petite intrusion d'un noob en dev qui a une question peut-être conne, je m'en excuse d'avance, la voici : j'ai cru comprendre qu'on pouvait aussi coder en c# sur XNA, serait-il de même sur SDK ? Merci. Oui pour coder en C#, il faut utilisé le SDK officiel. Tu devrai trouver plus de détail ici : http://www.xbox.com/en-US/dev/regdev.htm Effectivement erwan2004, en compilant la libxenon j'ai bien une erreur avec dirent.h, il me sembler que lors de l'install du toolchain il y avait écrit que ça incluer la libxenon et je n'avait pas eu d'erreur. Je test dessuite, merci. Modifié 15 janvier 2010 par BestPig Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 (modifié) Voici ce qui a corriger mon erreur, ce n'était pas un problème de retour ligne unix/windows. sudo cp libxenon/drivers/newlib/dirent.h /usr/local/xenon/lib/gcc/xenon/4.4.0/../../../../xenon/include/sys/dirent.h http://www.xboxhacker.net/index.php?topic=12439.0 EDIT : Wahouuu, j'ai mon cube.elf32 xD. Et le cube se lance Modifié 15 janvier 2010 par BestPig Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 15 janvier 2010 Auteur Share Posté(e) 15 janvier 2010 oui j'avais inclus le patch dans mon script : cp free60/libxenon/drivers/newlib/dirent.h $PREFIX/xenon/include/sys/dirent.h Sur quel system tu as reussit la compilation ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Sur Windows Seven avec cygwin. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 15 janvier 2010 Auteur Share Posté(e) 15 janvier 2010 ok moi, c'est Seven mais sous Virtualbox avec une Kunbutu 64 bits Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Sous ubuntu j'avait réussi a allez assez loin, j'avait pu compiler le toolchain, juste la libxenon qui ne marcher comme sous windows. Je ne me souvient pas de l'erreur mais à mon avis ça devrai être sensiblement la même. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 15 janvier 2010 Auteur Share Posté(e) 15 janvier 2010 oui sans doute et le problème avec "crt1.o: No such file: No such file or directory" en plus Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 15 janvier 2010 Share Posté(e) 15 janvier 2010 Le fichier qu'il ne trouve pas chez moi est dans C:\cygwin\home\BestPig\Programmation\Xbox360\xenon\lib Je l'ai peut-être copier moi, je sais que j'avait des prob avec les libs, j'ai copier un peu dans tout les rep lib & include xD. Lien vers le commentaire Partager sur d'autres sites More sharing options...
erwan2004 Posté(e) 16 janvier 2010 Auteur Share Posté(e) 16 janvier 2010 (modifié) Si tu parle de crt1.o, oui c'est normal . echo "***** startup crt fix *****" cp free60/libxenon/startup/xenon/crt1.o $PREFIX/lib/ cp free60/libxenon/ports/xenon/crti.o $PREFIX/lib/ cp free60/libxenon/ports/xenon/crtn.o $PREFIX/lib/ Mais des scripts fait pour Cygwin peuvent posé problème sous Linux, sans doute que ce dernier est plus rigoureux . Ca doit être une connerie au niveau du makefile -o $PREFIX/lib/crt1.o a foutre quelques part dans le makefile ou le fichier rules . Edit: mm problème sous Cygwin. Modifié 16 janvier 2010 par erwan2004 Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 16 janvier 2010 Share Posté(e) 16 janvier 2010 Je peut t'uploader mon rep "Programmation" si tu veut. Lien vers le commentaire Partager sur d'autres sites More sharing options...
brunsson Posté(e) 16 janvier 2010 Share Posté(e) 16 janvier 2010 Moi ca m'intéresse..., je veut apprendre et je pense que ca peut m'aider .. Merci d'avance a toi BestPig Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 16 janvier 2010 Share Posté(e) 16 janvier 2010 Salut,petite intrusion d'un noob en dev qui a une question peut-être conne, je m'en excuse d'avance, la voici : j'ai cru comprendre qu'on pouvait aussi coder en c# sur XNA, serait-il de même sur SDK ? Merci. Oui pour coder en C#, il faut utilisé le SDK officiel. Tu devrai trouver plus de détail ici : http://www.xbox.com/en-US/dev/regdev.htm Ok, merci. C'est bien ça, tout le monde peut donc s'y mettre rapidement. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant