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 :

MinGW et la construction de dll


Sujet :

C++

  1. #21
    screetch
    Invité(e)
    Par défaut
    - Visual te donne des warning
    - GCC te donne des erreurs
    - Ces directives de compilation ne sont utilisées que sous windows, sous linux tout est exporté par defaut (bien que le systeme de declspec existe sous linux aussi) donc aucune erreur

    mais, de toute évidence, lorsque tu construits la DLL, __declspec(dllimport) est utilisé.

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    Pourtant je mes bien mon -DBUILD_A_TOTO qui me permets de passer dans __declspec(dllexport). J'ai bien vérifier en le forçant tout seul

    #define BUILD_A_TOTO __declspec(dllexport)

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    J'ai découvert en cherchant un peu sur le net que par défaut sur mingw/cygwin auto import est activé par défaut :
    source :
    http://www.redhat.com/docs/manuals/e...ker/win32.html


    The standard Windows dll format supports data imports from dlls only by adding special decorations (dllimport/dllexport), which let the compiler produce specific assembler instructions to deal with this issue. This increases the effort necessary to port existing Un*x code to these platforms, especially for large c++ libraries and applications. The auto-import feature, which was initially provided by Paul Sokolovsky, allows one to omit the decorations to archieve a behavior that conforms to that on POSIX/Un*x platforms. This feature is enabled with the -enable-auto-import command-line option, although it is enabled by default on cygwin/mingw. The -enable-auto-import option itself now serves mainly to suppress any warnings that are ordinarily emitted when linked objects trigger the feature's use.
    J'essaye d'utilisé l'option du linker --disable-auto-import
    source :
    http://sourceware.org/binutils/docs-...s.html#Options


    --disable-auto-import
    Do not attempt to do sophisticated linking of _symbol to __imp__symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]
    Mais cela ne fonctionne pas.

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    C'est bon je pense avoir résolu le truc alors il faut absolument que les commandes de compilation des lib statique et dynamique soit rigoureusement identique au niveau des options de compilation. Voilà tout sa pour ça.

    En tout cas merci pour ces bons conseils.

    * les bibliothèques statiques ont-elles bien été compilées avec le même compilateur de la même version et avec les mêmes options de compilation que la dll que tu essaye de compiler

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/01/2011, 14h36
  2. [débutant C#]construction d'une dll en dotnet..
    Par just1980 dans le forum C#
    Réponses: 20
    Dernier message: 19/08/2010, 15h53
  3. [VC++] Utilisation d'une DLL écrite en C++ avec mingw.
    Par swirtel dans le forum Visual C++
    Réponses: 1
    Dernier message: 20/06/2007, 10h42
  4. la construction et l'utilisation des DLL
    Par aziz jim dans le forum C++
    Réponses: 2
    Dernier message: 11/03/2007, 11h18
  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