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 :

DLL Manquante sous Windows 2000


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut DLL Manquante sous Windows 2000
    Bonjour,

    J'ai développé un petit programme pour un ami. Mon programme a besoins de 2 librairies : WS2_32.LIB IPHLPAPI.LIB. Je les inclus donc à mon application à l'aide de la ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #pragma comment (lib,"WS2_32.LIB")
    #pragma comment (lib,"IPHLPAPI.LIB")
    Je compile le tout en statique, afin de n'avoir besoins que de l'exe, et de rien d'autre. Tout fonctionne bien sous XP, le programme se lance sans problème, et sans librairie. Par contre, sous Windows 2000; lors du lancement de l'application, les 2 DLL : WS2_32.DLL et IPHLPAPI.DLL sont réclamées !

    Pourquoi tout fonctionne sous Windows XP, et pas sous 2000 ? Comment corriger ce problème ? Pour information, j'utilise Visual C++, et je travaille sous XP.

    Cordialement,
    PKO
    Quand c'est trop, c'est pas bon !

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Altess Voir le message
    WS2_32.DLL et IPHLPAPI.DLL sont réclamées !
    Ca signifie tout simplement que tes bibliothèques ne sont pas linkées en statique mais en dynamique, sinon il ne demanderait pas les dll. Il faut donc revoir tes options de compilation.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  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 : 61
    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
    Points : 50 367
    Points
    50 367
    Par défaut
    Je ne pense pas que l'on puisse se linker en statique avec ces librairies.

    Autre chose, ton Windows 2000, il a quel niveau de Service Pack ?
    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
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    r0d > Bonjour et merci de ton aide. Je suis conscient que les DLL n'ont logiquement rien a voire dans cette affaire de compilation statique. Néanmoins, tout fonctionne bien sous Windows XP, et sans ces DLL. Pourquoi n'est-ce pas le cas sous 2000 ?

    Je me suis peut etre planter lors de la compilation en static sous VC++ 6.0.
    Les informations modifiées sont les suivantes :

    Project Settings > General > Use MFC in a Satic Library

    Il me semble que cela suffit, je me trompe peut être ?

    ram-0000 > Bonjour et merci également. Il s'agit du SP2. J'ai bien les 2 fichiers WSé_32.LIB et IPHLPAPI.LIB. Ceci n'implique t'il pas le fait que ces 2 librairies soient "linkable" en statique ?
    Quand c'est trop, c'est pas bon !

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Arf. Si tu compiles avec Visual6, je ne peux rien pour toi. Désolé.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  6. #6
    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 : 61
    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
    Points : 50 367
    Points
    50 367
    Par défaut
    les 2 librairies ws2_32.lib et iphlpapi.lib n'ont strictement rien à voir avec les MFC.

    Le fait de ce linker avec des .lib signifie tout simplement que tu vas utiliser ces librairies.

    Maintenant, ces .lib peuvent avoir 2 contenus différents : soit du code pour pouvoir faire du link statique soit des points d'entrée pour savoir quelle DLL charger au lancement.

    Je pense que ces 2 .lib sont des points d'entrée de DLL uniquement. En fait, c'est un peu normal car le fonctionnement de ces 2 DLL est lié au noyau.
    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
    .

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    Bonjour.

    Ce qui m'intrigue, c'est que tout semble fonctionner proprement avec windows XP. Il semblerais donc que je oit obligé de trimballer ces 2 DLL avec mon exe. Aucune autre méthode n'est possible ?

    C'est tout de même frustrant de développer sous Windows, et de ne pas pouvoir utiliser son application sur les versions récentes ...
    Quand c'est trop, c'est pas bon !

  8. #8
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    C'est tout de même frustrant de développer sous Windows, et de ne pas pouvoir utiliser son application sur les versions récentes ...
    2000, ce n'est pas tout à fait une version récente, et le SP2, ce n'est pas le dernier de 2000...

    Cela dit, tu as essayé de regarder si ces DLLs étaient présentes, et si oui, à quelles versions ?

    Sinon, dans la doc msdn, on trouve l'info de compatibilité avec les différentes versions de windows

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Je vais jeter un œil à la doc msdn. Peut être que la méthode utilisée n'est tout simplement pas compatible Windows 2000.

    Cordialement,
    PKO
    Quand c'est trop, c'est pas bon !

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

Discussions similaires

  1. Problème de DLL WMI sous Windows 2000 pro
    Par manwax dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 11/03/2008, 16h32
  2. Lenteur réseaux sous windows 2000 pro et serveur
    Par FilipeVV dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 31/05/2006, 14h42
  3. Installation Oracle 10g sous Windows 2000
    Par Jeff206 dans le forum Oracle
    Réponses: 6
    Dernier message: 24/08/2004, 16h51
  4. [Débutant] Problème d'installation sous Windows 2000
    Par bavmorda dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/08/2004, 17h28
  5. LoadLibrary avec C++ Builder 6 sous Windows 2000
    Par tgempp dans le forum C++Builder
    Réponses: 15
    Dernier message: 13/11/2003, 20h19

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