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

Visual C++ Discussion :

comment raccrocher une dll ?


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    F�vrier 2011
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2011
    Messages : 22
    Par d�faut comment raccrocher une dll ?
    Voil� ce qui m'am�ne...
    J'ai import� mes fichiers dans Visual C++ (je les ai d�velopp�s dans C::B avant de laisser tomber, n'y comprenant rien aux multiples options-r�glages-configurations de la b�te).
    J'ai compil�, sans trop de difficult�, puis g�n�r�, avec un peu plus de souci mais on n'a rien sans rien, n'est-ce pas ?
    Et voil� t'il pas que monsieur refuse de s'ex�cuter sous pr�texte qu'il ne trouve pas "wxms291ud_core_vc_custom.dll". Je trouve �a particuli�rement injuste, voire m�me diffamatoire parceque ledit "wxms291ud_core_vc_custom.dll" se trouve dans mon r�pertoire "c:\Visual Studio\wxWidgets-2.9.1\lib\vc_dll"
    J'ai d�j� truff� ma config de $(WXWIN)\truc et $(WXWIN)\machin : que lui faut il de plus
    O� dois-je d�clarer les dll appel�es par le programme lors de son ex�cution ?

    Merci par avance � mon futur sauveur.

    PS : j'ai jet� un oeil dans la FAQ mais je n'ai point trouv� de quoi me consoler.

  2. #2
    Membre averti
    Inscrit en
    F�vrier 2011
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2011
    Messages : 22
    Par d�faut
    Bon, ben je vais me cr�diter une bonne r�ponse.
    En fait, je n'ai pas trouv� la solution en DLL et j'ai tout pass� en statique. Et l�, hop, �a marche pile-poil.
    Je suis mon propre sauveur mais c'est dommage, j'aurais bien aim� comprendre.

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Il semble qu'il vous manque quelques notions de base des dll.

    Une dll est une librairie qui est partag�e par plusieurs programmes.
    Ce n'est pas de la responsabilit� du compilateur ni de l'�diteur de lien d'indiquer o� elle se trouve dans le syst�me (� part, indirectement avec la notion de version et de Side by Side (SxS) mais c'est une technique "advanced"). Et encore heureux, car cet endroit varie �norm�ment d'un OS � un autre.

    Vous ne trouverez donc aucune option dans VS pour la configuration du chargement des dll.
    L'�diteur de lien ne fait que donner les points d'entr�es (symboles) utilis�s dans une dll en ne sp�cifiant que son nom (de la dll), en aucun cas un �ventuel chemin.

    C'est le chargeur de l'OS qui d�terminer o� chercher les dll, lors de l'ex�cution du programme.

    Dans votre cas, le plus simple et de modifier votre variable d'environnement PATH pour que le charger utilise le r�pertoire "c:\Visual Studio\wxWidgets-2.9.1\lib\vc_dll" lors du chargement de votre programme en m�moire. De mani�re plus standard, il serait pr�f�rable de mettre une copie de cette dll � cot� de l'ex�cutable, car, par d�faut, le charger de l'OS commence par le r�pertoire de travail du programme puis le r�pertoire contenant le fichier "image" de l�ex�cutable.

  4. #4
    Membre averti
    Inscrit en
    F�vrier 2011
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2011
    Messages : 22
    Par d�faut
    Merci beaucoup, c'est tr�s clair et tr�s instructif. Une derni�re question si je peux me permettre. Quand doit on utiliser multithreaded dll plut�t que multithreaded?
    Merci par avance

  5. #5
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    C'est un peu complexe mais en g�n�ral, c'est toujours la multithread dll sauf quand des boulets ont eu la riche id�e d'utiliser une autre C-Runtime et de faire partager leur superbe trait de g�nie , en n'isolant pas les m�canismes d'allocation et de d�sallocation de leurs objets dans leur API de dll, dans leur dll.

    G�n�ralement ces deux boulettes vont de pair.

    Donc sauf cas tr�s tr�s particulier, c'est multithread dll.

  6. #6
    Membre averti
    Inscrit en
    F�vrier 2011
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2011
    Messages : 22
    Par d�faut
    Merci, c'est clair et �a m'�vitera les t�tonnements habituels.
    Les 3 avantages que je trouve � VC par rapport � C::B-GCC:
    - une configuration beaucoup plus accessible � un non sp�cialiste
    - un d�bugueur nettement plus puissant
    - des r�ponses claires et rapides sur je forum

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 02/10/2005, 13h01
  2. Comment acc�der � une DLL COM depuis un ex�cutable ?
    Par Denys dans le forum API, COM et SDKs
    R�ponses: 10
    Dernier message: 20/09/2005, 08h04
  3. Comment ex�cuter une DLL ?
    Par chleuh dans le forum Langage
    R�ponses: 4
    Dernier message: 29/06/2005, 14h27
  4. Comment cr�er une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    R�ponses: 8
    Dernier message: 16/06/2005, 15h38

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