IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Release pour linux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de Sytten
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 72
    Par défaut Release pour linux
    Bonjour,

    je ne sais pas si je suis vraiment dans la bonne section, mais j'aurais besoin d'un coup de main pour faire une release de mon jeu MineDeeper (codé en c++) sous linux. Je ne connais pas vraiment comment linux fonctionne et je n'arrive pas à obtenir mon exécutable.
    Voici en gros mes problèmes:
    -Le fichier ne trouve pas mes .so (car j'utilise la SFML)
    -Il ne s'ouvre pas lorsque je double clique dessus (je dois le faire par la console)
    -Le fichier n'a pas d'icône (pas de fichier ressource sous linux à ce que je vois, c'est supposé marcher avec un fichier desktop, mais j'y arrive pas)

    J'ai compilé mon jeu sous codeblocks, je ne suis pas habitué à le faire en console, mais je peux apprendre...

    Merci de votre aide,
    Sytten

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 152
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    je serai plus que surpris (comprendre : il est impossible) que la SFML ne fournisse pas un téléchargement pour linux avec les .so entre autre.
    Ensuite, Linux c'est différent de Windows, la ligne de commande tu devras surement y passer pour une partie.
    Pour l'exécution via double-click il faut peut-être simplement définir le fichier comme exécutable.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre actif Avatar de Sytten
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 72
    Par défaut
    Salut,

    J'ai mes .so (je les ai buils moi-même), je n'arrive juste pas à faire qu'il regarde dans le même dossier pour les trouver. J'ai déjà mis mon fichier comme étant exécutable...

    Merci

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Dans un cas de compilation des bibliothèque à la main, il faut tenter un "make install". Sinon, il faut spécifier le LD_LIBRARY_PATH :
    LD_LIBRARY_PATH=chemin_ou_sont_les_bibliothèques ./monProgramme
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre actif Avatar de Sytten
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 72
    Par défaut
    Oui même avec un make install (qui installe le tout dans usr/local/lib et include) ça pas l'air de fonctionner. Ce que j'aimerais c'est que n'importe qui qui download mon jeu puisse y jouer sans devoir passer par le terminal et spécifier où sont les .so...

  6. #6
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Bonjour,

    Comment le loader linux trouve-t-il les bibliothèques ?
    Il cherche successivement dans
    1. la liste de répertoires (séparateur : ) donnée par la variable d'environnement LD_LIBRARY_PATH.
      Si la variable n'existe pas ou si la bibliothèque n'est pas trouvée alors :
    2. la liste des bibliothèques configurées via ldconfig (cf la man page)
      si la bibliothèque n'est pas référencée alors :
    3. dans le répertoire /lib puis /usr/lib (lib64 ou lib32 aussi si l'OS est 64bit ou s'il y a une installation multilib)
      Si elle n'est toujours pas trouvée alors il y a une erreur de chargement

    Le mécanisme est un peu plus compliqué car on peut préciser lors de l'édition des liens un chemin codé en dur (cf rpath) ... je n'en parlerai pas ici.

    Si tu installes des bibliothèques en-dessous de /usr/local alors il faut être certain de passer par ldconfig pour les référencer, ou utiliser LD_LIBRARY_PATH comme indiqué par LittleWhite.

    Ensuite si tu désires proposer ton application sur Linux il va falloir créer des packages (.deb pour debian et cie, .rpm pour les distros comme fedora, ...) qui vont lister les dépendances. Par exemple ton jeu dépend de SFML, alors l'utilisateur final qui veut installer ton jeu via un package et qui ne dispose pas des bibliothèques nécessaires se verra installer tout ce qui lui manque. Le package contiendra non seulement l'installation de tes binaires et data mais aussi des commandes qui vont créer des raccourcis sur le desktop ou des entrées dans un menu game, ou ...
    Si tu crées également des bibliothèques, il va falloir t'assurer soit que tu les installes où le loader les trouve facilement ou utiliser ldconfig pour les référencer.

Discussions similaires

  1. [Kylix] Erreur "File not Found : Windows.dcu"
    Par derrick23_2003 dans le forum EDI
    Réponses: 4
    Dernier message: 27/12/2005, 11h18
  2. Clavier visuel pour linux ?
    Par Madmac dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/06/2005, 18h51
  3. Antivirus pour Linux?
    Par barucca dans le forum Sécurité
    Réponses: 13
    Dernier message: 16/04/2004, 18h45
  4. Compilateur - editeur C++ pour Linux
    Par Torpedox dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/09/2002, 02h16
  5. Réponses: 0
    Dernier message: 25/07/2002, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo