Dush Posté(e) le 30 janvier 2007 Partager Posté(e) le 30 janvier 2007 Bonjour, Je commence le C et je me suis collé sur un Tetris en graphique en utilisant la librairie SDL. Mon programme fonctionne!! ( ) Mais je voudrai maintenant en faire partager (comprendre me venter) devant mes proches. Le problème c'est que je ne sais pas comment le faire fonctionner sur d'autre machine :( Je travaille sous linux Gentoo 2.6.desBrouettes. J'utilise vi comme éditeur et gcc 4.1.1 comme compilateur. (Peut-être bourin mais c'est comme ça qu'on m'a appris...) J'ai donc les librairie (SDL, SDL_image et SDL_ttf) installer complètement sur mon système. Mon premier but est d'exporter mon programme (au moins l'exécutable) sur d'autre ordinateur sous linux n'ayant pas ces librairie installées. Mon second serai de recompiler le programme pour qu'il soit utilisable sous windows (j'ai un packet de .dll qui peuvent suivrent l'exécutable). Et ce de préférence sans avoir à passer sous un IDE sous windows... merci d'avance... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 31 janvier 2007 Partager Posté(e) le 31 janvier 2007 perso, je n'ai jamais fait donc je dirais qu'il te faut pour faire fonctionner ton jeu sous windows : 1) les dll relatives à SDL (ou faire un test si ces fichiers sont déjà présents dans le répertoire system32) ou sinon les copier dans le meme repertoire que ton executable 2) compiler tes sources pour obtenir un executable windows (obligé d'être sous Windows ?? ) 3) si la compilation ou l'execution ne passe pas, c'est peut etre un probleme de code qui fonctionne sous un OS et pas sur l'autre, donc faire des tests Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 31 janvier 2007 Partager Posté(e) le 31 janvier 2007 perso, je n'ai jamais fait donc je dirais qu'il te faut pour faire fonctionner ton jeu sous windows : 1) les dll relatives à SDL (ou faire un test si ces fichiers sont déjà présents dans le répertoire system32) ou sinon les copier dans le meme repertoire que ton executable 2) compiler tes sources pour obtenir un executable windows (obligé d'être sous Windows ?? ) 3) si la compilation ou l'execution ne passe pas, c'est peut etre un probleme de code qui fonctionne sous un OS et pas sur l'autre, donc faire des tests "Mon premier but est d'exporter mon programme (au moins l'exécutable) sur d'autre ordinateur sous linux n'ayant pas ces librairie installées." Ba sous linux tu n'a pas bcps de choix, soit tu fais un paquet RPM/Deb de ton programme avec les dependance quivontbien ( SDL, SDL_mixer etc...) Soit tu fais un paquet src+autogen+automake, que les gens recompile le programme sur leur plateforme. "Mon second serai de recompiler le programme pour qu'il soit utilisable sous windows (j'ai un packet de .dll qui peuvent suivrent l'exécutable). Et ce de préférence sans avoir à passer sous un IDE sous windows..." Sur windows, tu va etre obliger de compiler t'es source avec GCC windows ( inclus dans DEV-CPP par exemple), afin d'obtenir un executable qui chargera les DLL SDL dynamiquement depuis le répertoire de ton programme. Tu peux compiler certaine librairie en statique dans ton programme, afin de ne pas avoir la dependance apres, mais ce n'est pas possible sur toute les librairies, comme GTK ou c'est impossible, SDL je sais pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dush Posté(e) le 31 janvier 2007 Auteur Partager Posté(e) le 31 janvier 2007 "Mon premier but est d'exporter mon programme (au moins l'exécutable) sur d'autre ordinateur sous linux n'ayant pas ces librairie installées." Ba sous linux tu n'a pas bcps de choix, soit tu fais un paquet RPM/Deb de ton programme avec les dependance quivontbien ( SDL, SDL_mixer etc...) Je ne sais pas faire de rpm, mais je vois la distribution du jeu à sa hauteur: vraiment pas loin En clair un simple tar avec les dépendances quivontbien... Le hic c'est que sous gentoo, j'ai fait "emerge sdl sdl_image sdl_ttf et tout les paquet quivonbien ce sont mis aux endroits quivonbienaussi. Donc je ne sais pas à quoi resemble ces fichiers que je dois faire suivre... (c'est des .a ?) Soit tu fais un paquet src+autogen+automake, que les gens recompile le programme sur leur plateforme. Y'a un makefile, si il veulent recompiler, je considère qu'il ont les librairie qui vont bien :) "Mon second serai de recompiler le programme pour qu'il soit utilisable sous windows (j'ai un packet de .dll qui peuvent suivrent l'exécutable). Et ce de préférence sans avoir à passer sous un IDE sous windows..." Pour mon code C, il devrai pas avoir de problème pour passer sous windows: je l'ai écrit avec des tuto pour des compilateur windows... Je vais essayer de les suivre en commançant par l'installation des IDE Sur windows, tu va etre obliger de compiler t'es source avec GCC windows ( inclus dans DEV-CPP par exemple), afin d'obtenir un executable qui chargera les DLL SDL dynamiquement depuis le répertoire de ton programme. donc faut que je passe par dev-cpp (ou un autre IDE) sous windows... Y'a pas moyen de trouver le gcc de windows pour linux? Tu peux compiler certaine librairie en statique dans ton programme, afin de ne pas avoir la dependance apres, mais ce n'est pas possible sur toute les librairies, comme GTK ou c'est impossible, SDL je sais pas. J'ai entendu parler de cette possibilité qui m'interresse beaucoup... Ou puis-je trouver plus de renseignement dessus (pour les librairie général ou sdl en particulier ? Pour mon code C, il devrai pas avoir de problème pour passer sous windows: je l'ai écrit avec des tuto pour des compilateur windows... Je vais essayer de les suivre en commançant par l'installation des IDE Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 1 février 2007 Partager Posté(e) le 1 février 2007 tu peux aussi essayer de tout compiler avec -static ce qui t'éviteras l'utilisation des libs SDL de manière dynamique (au prix d'un executable plus gros) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dush Posté(e) le 3 février 2007 Auteur Partager Posté(e) le 3 février 2007 J'ai essayer de rajouter l'option "-static ". Il a l'air de bien essyer de me compiler avec les librairie. Mais il plante suite à un grand nombre d'érreur du type: /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../libSDL.a(SDL_sysmutex.o): In function `SDL_CreateMutex': : undefined reference to `pthread_mutex_init' /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../libSDL.a(SDL_gamma.o): In function `CalculateGammaFromRamp': : undefined reference to `log' /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../libSDL_ttf.a(SDL_ttf.o): In function `TTF_OpenFontIndexRW': : undefined reference to `FT_MulFix' J'en déduit qu'il essaie de me recompiler la bibliotèque et qui lui manque u certain nombre de #define. Est-ce qu'il y a une option pour qu'il m'intègre bien les bibliothèque mais qu'il ne recopile pas ces dernière? :s Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.