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

Bibliothèques Discussion :

Compilation multi-plateforme et bibliothèque


Sujet :

Bibliothèques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Compilation multi-plateforme et bibliothèque
    Salut à tous,

    Je débute en C (bon, débutant confirmé), et donc pour l'instant, je n'ai eu a faire que des programmes basiques, donc basta le concept de projet multi-plateforme, et pas besoin de librairie un peu plus poussées.

    Là, j'ai un projet qui lui doit être multi-plateforme. Pour l'instant, tout à été développé sous linux (ubuntu+eclipse), tout marche correctement, mais maintenant, faut que je trouve le moyen de compiler tout ça correctement sous windows.

    Le problème viens du fait que j'ai besoin de librairies qui, sous linux, s'installent à coup d'"aptitude install lib...", et donc là, si j'ai bien écouté mes cours de C, on travaille avec des bibliothèques dynamiques, et tout va pour le mieux. (A ce propos, toutes les librairies installées vie un gestionnaire de paquet sont-elles utilisées de manière dynamique ou cela dépend de la lib ?)

    Maintenant, j'ai commencé à regarder comment compiler mon projet sous windows. Bon là, on a pas de gestionnaire de paquet, donc je vois assez mal comment sont gérées les bibliothèques dynamiques. Enfin si, mais alors pour pouvoir compiler, faut en planquer les .dll dans c:\windows\system32\..., les .lib dans le dossier \lib\ de l'éditeur (et encore d'autre ailleurs, suivant l'ide utilisé), et quoi qu'il en soit, pour que ça marche ailleurs, faut que la dll soit présente dans le c:\windows\system32\ (d'après ce que j'ai compris, arrêtez moi si je me trompe).

    Seulement, comme il n'y a pas de gestionnaire de paquets pour gérer correctement les versions des libs et applis, c'est au dernier installé de mettre la dernière version de la lib nécessaire dans c:\windows\system32\, ou de garder la version déjà installée si elle est plus récente, non ?

    Bon, mon réel problème, c'est que j'ai cherché les lib dont j'ai besoin sur internet (rien d'extravagant, libargtable2, libgd, libjpeg), mais ce que je trouve, ce sont les sources. J'imagine donc qu'il faut que je compile tout ça pour faire les dll moi même ? Donc question : comment compiler pour obtenir une dll ?

    Bon, déjà ça, la suite, on verra plus tard...
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Salut Leeelooo,
    et quoi qu'il en soit, pour que ça marche ailleurs, faut que la dll soit présente dans le c:\windows\system32\ (d'après ce que j'ai compris, arrêtez moi si je me trompe).
    Alors sous windows tu peux mettre tes librairies dynamiques dans le même répertoire que ton executable, sous linux tu peux placer tes librairies n'importe ou si tu modifie la variable LD_LIBRARY_PATH au répertoire qui les contient.

    mon réel problème, c'est que j'ai cherché les lib dont j'ai besoin sur internet (rien d'extravagant, libargtable2, libgd, libjpeg), mais ce que je trouve, ce sont les sources
    Alors tu peux trouver sur internet les sources mais egalement parfois les librairies compilé.
    Si tu les compile toi même tu contole tout tu ajoutes les options que tu veux etc ...
    pour compilé tu peux utilisé cygwin / mingw ( c'est un "terminal" sous windows ) qui te fourni les commande gcc / g++ / cc /make /ld ... bref tous ce qu'il faut pour compiler.
    Si tu as deja fait ca sous linux c'est la même procedure, tu configure ( ./configure [-option] ), tu compiles ton programme, et voila il ne reste plus qu'a compilé ton programme avec les nouvelles librairies et des les fournir avec ton executable
    Autre solution qui te permet de ne pas avoir de dependance envers des dll, compilé en static ainsi ta libraiie sera inclu dans ton executable . à toi de voir.

    Bon courage jérémy

Discussions similaires

  1. [Lazarus] [Mac OS X] Installation et compilation multi-plateforme
    Par arkhamon dans le forum Lazarus
    Réponses: 1
    Dernier message: 29/02/2012, 19h53
  2. Apprendre un langage compilé "multi-plateforme" et "multi-purpose"
    Par Autodidacte xp dans le forum Langages de programmation
    Réponses: 34
    Dernier message: 15/12/2011, 19h38
  3. Compilation multi plateforme
    Par nazoreen dans le forum Débuter
    Réponses: 14
    Dernier message: 04/01/2010, 22h36
  4. Bibliothèque multimédia multi plateforme
    Par xilebo dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 14/09/2006, 18h08
  5. Réponses: 8
    Dernier message: 03/08/2006, 00h18

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