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 :

configuration VC++ 6


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de corwin
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par d�faut configuration VC++ 6
    Salut,

    je d�barque dans le monde windows en venant d'*nix. Et je s�che un peu sur un probl�me de configuration de visual c++ enfin je pense que c est un probl�me de conf.
    Je suis entrain de faire un projet de test avec les MFC et celui si utilise une lib externe. Le projet compile par contre a l execution il me jette en me disant qu'il ne trouve pas la dll. J'ai beau cherch� je ne voit pas ou je configure le chemin d'acc�s a la dll dans visual ?
    Pour info la dll est d�ploy� dans un r�pertoire de mon "home" je connais pas le terme sous windows et mon projet est dans le r�pertoire par d�faut de visual sous programme file.
    Es ce que j'ai loup� une optiond ans les ettings du projet ou dans les options (tool/options) de visual ?

    merci d'avance pour votre aide.

    (je sais pas si cela peu servir mais je suis sous XP, VC++6.0, SDK2003)

  2. #2
    Membre Expert
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2011
    Messages
    1 255
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 1 255
    Par d�faut
    ton "home" n'est pas dans le PATH. Donc ton exe, s'il n'est pas dans ton "home" (c a d le meme r�pertoire que la dll), il ne la voit pas.

    pour voir les probl�mes de d�pendances, je te conseille dependencies walker.

    Quand tu parles d'ex�cution, tu fais quoi ?
    tu lances l'exe (dans Windows) ou tu d�bugge ?

  3. #3
    Membre confirm� Avatar de corwin
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par d�faut
    Je viens de modifier la variable PATH du compte plus celle du syst�me. Et j'ai la m�me erreur : "Cette application n'a pas pu d�marrer car toto.dll est introuvable"

    Je d�marre l'application depuis VC++ (menu build ou ctrl+F5)
    La modif de la varaible d'environnement est valable imm�diatement ou il y a une manip a faire sous XP ?

  4. #4
    Membre confirm� Avatar de corwin
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par d�faut
    oula y a un truc que je ne comprend pas;
    quand je lance l exe dans l explorateur ca marche mais pas dans VC++ ??

    [EDIT]
    ok j'ai relanc� VC++ et ca marche.

    merci pour le coup de main
    [/EDIT]

  5. #5
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    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 505
    Par d�faut
    Le loader Windows utilise le DllPath (objet Kernel, pas variable d'environnement) pour trouver les fichiers des dll "statiquement li�" � l'ex�cutable lanc�.
    La variable d'environnement PATH fait partie des chemins utilis�s par DllPath dont par le loader.

    Les valeurs des variables d'environnement sont li�es � un ex�cutable et ces valeurs sont h�rit�es depuis le programme p�re (ayant lanc� le programme courant).

    Quand vous modifiez ces valeurs dans l'IHM du Windows, vous modifiez les valeurs pour le processus "explorer" en charge de la gestion du bureau Windows (il modifie aussi la base de registre pour qu'au prochain reboot, ces valeurs soient correctement renseign�es).

    Donc tous programmes que vous lancez depuis l'exploreur aura donc ces nouvelles valeurs dans les variables d'environnement.

    Mais, si votre Visual Studio �tait d�j� lanc� lors des modifications des variables d'environnement, il n'aura que les valeurs correspondant � celles de l'"explorer" lors du lancement de VC++, donc les anciennes valeurs.

    Il faut red�marrer VC++ pour que ces modifications soient prises en compte par VC++ et tous les outils qu'il lance (cf. h�ritage des valeurs au d�but du post).

    Pour �viter toutes ces embrouilles, le plus simple est d'utiliser le fait que, par d�faut, dans le DllPath, il y a le r�pertoire de l'ex�cutable ou le r�pertoire courant de l'instance de programme.

    http://msdn.microsoft.com/en-us/libr...(v=vs.71).aspx

    Donc configurez votre projet VC++ pour que votre dll soit d'en l'un de ces r�pertoires.

  6. #6
    Membre confirm� Avatar de corwin
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par d�faut
    Merci Bacelar pour les explications.
    Je ne veux pas d�placer ma dll a cot� de mon exe, j'aime bien ranger les choses
    Du coup il me reste deux solutions si je comprend bien :
    1) modifier le path pour y inclure le r�pertoire de la dll , c'est ce que j'ai fait actuellement, ca marche.
    2) "le r�pertoire courant de l'instance de programme". Cela veux dire que dans le DllPath il y a le r�pertoire d'ou je lance l'exe. Donc je doit pouvoir dire a VC++ de lancer l exe de n'importe quel r�pertoire ? Cela correspond t il au "working directory" des project settings ?

  7. #7
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    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 505
    Par d�faut
    j'aime bien ranger les choses
    Moi j'aime bien les choses simples et je n�aime pas le Dll Hell (le fait d'avoir des Dlls utiliser par plusieurs applications et que chacun installe leur versions diff�rentes ou ne qui marchent pas avec d'autres versions que celles qu'elle installe).
    Donc pour �viter ce merdier, le plus simple ; outre le d�ploiement en Side by side SxS et l'utilisation de manifeste faisant d'un simple Hello Word un projet de la NASA ; c'est de cloisonner chaque application et donc de d�ployer toutes les dll non-syst�mes utilis�es par le programme avec lui. Les MSI sont faits pour �a.

    Cela correspond t il au "working directory" des project settings ?
    Oui

    J'insiste, en tant que d�veloppeur, vous devez ma�triser les d�pendances en terme de dll de votre programme, et en faire un �l�ment de votre projet VS permet de ma�triser leur mont� de version et les m�canismes de d�ploiement.

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

Discussions similaires

  1. configurer sql pour envoyer des mails
    Par arwen dans le forum MS SQL Server
    R�ponses: 6
    Dernier message: 29/07/2003, 15h28
  2. [postgresql]configuration serveur
    Par Fyna dans le forum PostgreSQL
    R�ponses: 4
    Dernier message: 16/06/2003, 19h22
  3. [configuration] lancer plusieurs serveurs Tomcat
    Par polo54 dans le forum JBuilder
    R�ponses: 4
    Dernier message: 13/06/2003, 15h52
  4. Configurer OpenGL/Glut avec C++Bluider
    Par MiGoN dans le forum OpenGL
    R�ponses: 2
    Dernier message: 13/09/2002, 23h18
  5. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    R�ponses: 10
    Dernier message: 29/07/2002, 11h33

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