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 :

Une bibliothèque portable pour la gestion des dlls (plug-ins)


Sujet :

Bibliothèques

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Points : 90
    Points
    90
    Par défaut Une bibliothèque portable pour la gestion des dlls (plug-ins)
    Bonjour à tous, j'essaie de créer une application en c++ dont le code source soit le plus portable possible.
    Boost pour tout ce qui est threads, fichier, sérialisation; wxWidgets pour ce qui est de la, ou plutot des, interfaces graphiques.
    Il y'a cepandant un point sur lequel je n'arrive pas à me débarasser de l'ApiWin32 sous windows, c'est la gestion des dlls. Je m'explique : mon appli à plusieurs interfaces, ceci n'est pas à but uniquement ésthétique mais aussi utilitaire : pouvoir créer des interfaces (uniquement sous windows) utilisant un icone dans la barre des tache (NOTIFYICON). Ainsi, si mon interface (skin) de base sera codé en utilisant les wxWidgets, je pourrait en recoder une utilisant l'ApiWin32.
    Bien sur je souhaite pouvoir ajouter des skins sans avoir à recompiler l'appli. En gros c'est un système de plug-ins.
    Bref j'ai besoin de trois petites fonction de l'ApiWin32 : LoadLibrary(), GetProcAddress() et FreeLibrary(), ainsi bien sur que du type HMODULE qui va avec.
    Est-ce possible sous Mac et Linux??
    Existe-il une librairie portable toute prête (en C ou en C++ peut importe) qui réponde à mes attentes?
    Si ce n'est pas le cas existe-il une solution alternative pour faire ce que je veux?

    Merci d'avance!

    Sp@rtan03
    Pourquoi faire simple quand on peut faire compliqué!

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Citation Envoyé par Spartan03
    Existe-il une librairie portable toute prête (en C ou en C++ peut importe) qui réponde à mes attentes?
    GModule (je ne sais pas si ça fonctionne sous Mac mais pour Linux et Windows il ne devrait pas y avoir de problème).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Points : 90
    Points
    90
    Par défaut
    Ok ça m'a l'air pas mal mais je suis obligé d'installer GTK pour compiler cette lib??
    Ou j'ai raté quelquechose?
    Parce que j'ai essayé de compiler en ligne de commande mais ça ne marche pas (j'utilise Visual C++) VC++ me dit qu'il y'a des erreurs de syntaxe dans les makefiles et j'essaie donc de créer un projet VC++, de le compiler mais il y'a pas aml d'erreurs et il me manque des headers.
    Pourquoi faire simple quand on peut faire compliqué!

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Spartan03
    Ok ça m'a l'air pas mal mais je suis obligé d'installer GTK pour compiler cette lib??
    Non cela fait partie de la glib que tu peux utiliser séparément : ftp://ftp.gtk.org/pub/glib/2.12/win32

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Points : 90
    Points
    90
    Par défaut
    Je viens juste de terminer de terminer de télécharger la glib alors que je tombe sur quelquechose chez wxWidgets et vu que j'utilise cette bibliothèque, quoi que j'ai longtemps hésité entre elle et GTK (je me suis finalement décidé pour wxWidgets car je n'étais pas obliger de lier la lib dynamiquement car il est assez gênant d'avoir à installer l'environnement GTK pour faire tourner une petite appli qui au total ne dépasse pas les 2 mégas d'espace disque).

    Bref ce que j'ai trouvé c'est wxDynamicLibrary (anciennement wxDllLoader) et ça m'a l'air sympatique.
    Je garde la bibliothèque gmodule sous le coude cepandant, car elle pourrait se révéler très utile pour des programmes n'utilisant pas wxWidgets.

    Merci à tous!
    Pourquoi faire simple quand on peut faire compliqué!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une base de donnée pour la gestion des alertes
    Par Bandrax dans le forum Modélisation
    Réponses: 4
    Dernier message: 09/04/2009, 16h47
  2. Réponses: 1
    Dernier message: 30/03/2009, 11h30
  3. Quel SGBD pour la gestion des missions d'une association ?
    Par Bragon12 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 06/05/2008, 14h32
  4. Bibliothèque C pour la gestion des tableaux
    Par alphalog dans le forum C
    Réponses: 13
    Dernier message: 19/04/2007, 19h11

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