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 :

generer une dll avec MVC et l'utiliser avec MinGW


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Par défaut generer une dll avec MVC et l'utiliser avec MinGW
    Bonjour,

    je voulais savoir sil il était possible (en fait j'en suis presque sur)
    de compiler une librairie avec Visual Studio et de pouvoir l'utiliser avec MinGW.

    J'en suis presque sur que cela ce peux se faire car avec openCV la librairie generer peux s'utiliser dans les deux compilateurs.

    Est-ce que c'est ca qu'on appele la cross-compilation?

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    C'est possible uniquement pour les DLLs C, car le C possède une ABI standardisée (i.e. tous les compilos produisent le même genre de binaire).

    C'est impossible en C++ car chaque compilateur a sa propre convention pour générer les binaires.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par elraton Voir le message
    Est-ce que c'est ca qu'on appele la cross-compilation?
    Non, la cross commpilation, cela consite à générer un binaire sur une plateforme et à l'exécuter sur une autre plateforme. Les 2 plateforme ayant bien sûr une architecture et un OS différentes comme X86 Windows et Sparc Solaris (sinon, c'est pas marrant). En général (mais pas toujours), c'est utilisé pour faire du logiciel embarqué sur des cartes électroniques (téléphone portables, satellites, machine à laver, calculateur d'injection de voiture)

    Citation Envoyé par Laurent Gomila Voir le message
    C'est impossible en C++ car chaque compilateur a sa propre convention pour générer les binaires.
    Cela s'appelle le name mangling en C++
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Et aussi, les deux compilos utilisent un format différent pour la bibliothèque statique d'importation, ce qui rend nécessaire l'importation dynamique (LoadLibrary()+GetProcAddress()) dans un des cas.

    Sinon, si tu fais de l'objet, il reste la possibilité de faire une DLL COM, qui, grâce à des guidelines assez précises, peut être utilisée depuis pas mal de langages.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Par défaut
    Okay pour l'instant j'ai vu que l'on pouvait creer un .a (minGW) grace a un .lib (MVC) en utilisant un tools appeler reimp.exe

    Sinon j'ai aussi lu que c'etait possible de faire l'inverse MinGW a MVC mais j'ai peur que cela ne marche que moyenement

    http://www.mingw.org/wiki/Visual_Basic_DLL

    Enfin a l'execution je voulais savoir si les .dll etait compatible
    (ou si il s'agissait juste de .lib .a)
    D'apres ce que vous m'avez dit il semblerait que non, mais je n'en suis pas sur.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Une DLL avec une interface C sera compatible.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. [ZF 1.6] Zend_Db pour MySQL natif utilisable avec MVC
    Par gorgonite dans le forum Zend_Db
    Réponses: 0
    Dernier message: 31/10/2014, 17h28
  2. Réponses: 5
    Dernier message: 24/08/2011, 09h44
  3. [MySQL] comment generer une page php déjà faite en pdf avec la fonction phptoPDF
    Par linguere dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/08/2011, 10h06
  4. Réponses: 0
    Dernier message: 18/02/2009, 12h00
  5. Utiliser une .dll .lib de VC sous C::B+mingw
    Par reptils dans le forum Code::Blocks
    Réponses: 11
    Dernier message: 18/10/2006, 08h54

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