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 :

[Exécution] Problème avec une DLL


Sujet :

C++

  1. #1
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut [Exécution] Problème avec une DLL
    Bonjour à tous,

    Je travaille sous Windows avec VC++ 8.0 .
    Pour être utilisé n'importe quelle machine, un programme doit être livré avec les DLL, y compris les DLL de CRT et le/les manifest correspondant (ou le package redistribuable de M$) Bon. C'est un fait!

    Cependant, je rencontre en ce moment des phénomènes plutôt bizarres. J'utilise depuis peu Boost.Python pour un interpréteur de commande, et j'ai pas mal d'ennuis lors de la distribution.
    1 - Le programme ne fonctionne que sur 1 / 5 des PC de ma boîtes. Il raconte : "L'application n'a pas réussi à s' initialiser correctement." A priori ça sent le problème de DLL à plein nez, mais je vois pas vraiment laquelle. Sans doute celle de Boost.Python?
    2 - Même sur des PCs qui sont le "clone" du mien, avec XP, Visual, tout pareil. Ca ne marche pas...
    3 - En mode Debug sur mon PC, j'obtiens le même message que mes collègues en essayant de lancer le programme depuis Visual, avec la petite explication bonus de Vc++:
    'WOLFF 2.0.exe' : Chargé 'D:\Documents and settings\GD215856\Bureau\WOLFF template5\WOLFF 2.0 Code\WOLFF 2.0\debug\boost_python-vc80-mt-gd-1_35.dll', Aucun symbole n'a été chargé.
    LDR: LdrpWalkImportDescriptor() failed to probe d:\Documents and settings\GD215856\Bureau\WOLFF template5\WOLFF 2.0 Code\WOLFF 2.0\debug\boost_python-vc80-mt-gd-1_35.dll for its manifest, ntstatus 0xc0150002
    Débogueur:: Une exception non gérée et qui ne peut être continuée a été levée durant le chargement du processus
    Le programme '[5220] WOLFF 2.0.exe: Natif' s'est arrêté avec le code -1072365566 (0xc0150002).
    Je n'ai donc que le Release qui fonctionne correctement sur mon PC, le Debug pas.
    J'ai toutes les DLL nécessaires dans mon projet, y compris:
    • boost_python-vc80-mt-1_35.dll
    • python25.dll
    • etc...


    Question : avez-vous une idée? Est-ce que je me sers de Boost.Python comme un manche orienté objet?

    pour toute aide !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Tu peux utiliser Dependency Walker pour voir quelle(s) DLL manque(nt).
    Il est fourni avec toutes les versions non-express de MSVC et avec le Microsoft Windows SDK. On doit aussi pouvoir le trouver séparément.

    MAT.

  3. #3
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Salut Mat,

    Je l'ai déjà lancé sur mon exécutable. Ce qui est remarquable est que sur mon PC tout est OK, alors que sur celui des autres il me dit que la lib boost_pythonxx1.35xxxx.dll est corrompue, ou incorrecte je sais plus.

    Etrange, n'est ce pas?

  4. #4
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Est-ce que boost_pythonxx1.35xxxx.dll ne s'appuie pas sur une DLL absente sur les autres postes (et ainsi de suite...) ?

  5. #5
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Pour résumé,
    • Sur mon PC :
      La version Release fonctionne
      La version Debug plante lamentablement : initialisation incorrecte.
    • Sur les autres PC:
      Release et Debug plantent toutes les deux.


    Mon problème en version Debug est donc le même que celui des "autres" en release. Donc je m'attelle d'abord à résoudre mon propre problème en débug, c'est plus logique.
    Voici le message exact de Dependency Walker, quand j'analyse mon exécutable de débogage:
    Error: The Side-by-Side configuration information for "d:\documents and settings\gd215856\bureau\wolff template5\wolff 2.0 code\wolff 2.0\debug\BOOST_PYTHON-VC80-MT-GD-1_35.DLL" contains errors. Cette application n'a pas pu dmarrer car la configuration de l'application est incorrecte. Rinstaller l'application pourrait rsoudre ce problme (14001).
    Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
    Visual, quant à lui, m'indique l'erreur dejà précédemment citée:
    LDR: LdrpWalkImportDescriptor() failed to probe d:\Documents and settings\GD215856\Bureau\WOLFF template5\WOLFF 2.0 Code\WOLFF 2.0\debug\boost_python-vc80-mt-gd-1_35.dll for its manifest, ntstatus 0xc0150002
    Débogueur:: Une exception non gérée et qui ne peut être continuée a été levée durant le chargement du processus
    J'ai l'impression que le problème vient de la DLL non? Pour ma part, je ne pense pas qu'il me manque une DLL...

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    as tu vérifier que tu utilise les bonne dll redist de visual? (se trouve dans un répertoire de visual)

  7. #7
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Oui oui, bien sûr...
    C'est la première fois que ça me fait ça...

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    C'est peut être un problème de manifest. J'ai beaucoup de mal à comprend leur fonctionnement. De ce que j'ai compris, ça indique la signature des dll qu'il faut utiliser.
    Par exemple deux dll python25.dll peuvent avoir une signature différente. Tout comme QtCore.dll qui sera différente si elle est compilé par visual ou mingw

  9. #9
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    +1 Pareil. C'est encore quelque chose d'obscur pour moi. Et pourtant ce n'est qu'un petit fichier XML de rien du tout...

    J'ai juste télécharger Python 2.52 sur leur site, et Boost depuis leur installateur binaire (/MD et /MDd). J'obtiens donc deux DLL : Python25.dll et boostxxx1.35.dll qui sont visible par le Dependecy Walker dans l'exécutable.

    Je me suis arrêté là, après je suis perdu... ^^

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par poukill Voir le message
    J'ai juste télécharger Python 2.52 sur leur site, et Boost depuis leur installateur binaire (/MD et /MDd).
    C'est peut être ca le problème. Ces binaire sont peut être basé sur une version antérieur de python 2.5

  11. #11
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Ouais je crois qu'on tient le bon bout, j'étais justement la dessus.
    Je viens de trouver ça : http://www.boost.org/doc/libs/1_35_0...platforms.html
    qui dit que Boost.Python est connue pour marcher avec la version 2.2.2b1.

    Par contre, comment expliquer que dans le dependency walker pour le boost_pythonxxx1.35.dll je trouve:
    • MSVCR80.DLL
    • MSVCP80.DLL
    • PYTHON25.DLL
    • KERNEL32.DLL

    Il y a une liaison avec python25.dll (version 2.52 donc) !
    Je veux dire, comment est-ce possible? Puisque cette DLL est fourni dans le package boost non?

    Là moi pas comprendre...

  12. #12
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Bon, pour vérifier je viens de réinstaller Boost, proprement après avoir installé la version 2.2 de python.
    Dans la dll il y a ça (pièce jointe)...
    Il ne trouve pas python25.dll, c'est normal je l'ai viré avant de réinstallé boost.

    Ca m'explique toujours pas pourquoi il y a ce python25.dll ....
    Images attachées Images attachées  

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    dans le lien il dise que boost est connu pour marcher avec python 2.2.
    Mais ca ne veut pas dire que les binaire que tu as telecharger utilise pas une autre version, comme python 2.5x.

    A mon avis, il faudra que tu regarde le readme ou autre de l'installer de binaire. Ils doivent bien dire quel version de python ils ont utilisé.

  14. #14
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    A télécharger il n'y a que la version 2.52 (dans la ligné 2.5x) de toute façon... C'est donc python25.dll, ce qui est précisément ce qu'attend boost comme lib.
    Après elle a été compilé avec VS2003 (7.1) et j'ai la 8.0 ! Normalement ça ne pose pas problème, mais bon... J'ai essayé de recompiler la lib, ce qui a marché pour le core, mais il me manque un tas de lib connexe (sqllite, tcl) si je veux builder le tout!

    Bref, je suis toujours sur l'affaire... Il faut que ça marche, il faut que ça marche....

  15. #15
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    ou as tu trouvé l'exe d'install de boost?

  16. #16
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Je l'ai conservé sur mon bureau depuis le début !
    Attention, c'est la 1.35 évidemment.... pas la 1.36. Les binairies ne sont pas encore dispo.

  17. #17
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par poukill Voir le message
    Je l'ai conservé sur mon bureau depuis le début !
    Attention, c'est la 1.35 évidemment.... pas la 1.36. Les binairies ne sont pas encore dispo.
    lol et tu sait ou tu la telechargé?

  18. #18
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Comme le reste, boost sur sourceforge.net... Mais je viens de voir qu'il ne mette plus à disposition les anciennes versions, c'est bien dommage.
    C'est pour ça que tu me poses toutes ces questions !

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par poukill Voir le message
    C'est pour ça que tu me poses toutes ces questions !
    c'était pour voir si je trouvais un truc par rapport a la version que tu utilise

  20. #20
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    J'ai trouvé l'installer ici au fait : http://www.boostpro.com/products/free

    Je suis dans la doc de Python en espérant trouvé un truc...

    Merci beaucoup de ton aide Mongaulois en tout cas ! :-)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème avec une dll activeX
    Par Damzz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/04/2009, 14h39
  2. Problème avec une DLL construite en Delphi
    Par steph_1 dans le forum Langage
    Réponses: 6
    Dernier message: 24/01/2008, 11h01
  3. Problème avec une Dll
    Par nnj dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/04/2007, 20h36
  4. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 13h22
  5. Problème avec une DLL
    Par SER dans le forum Langage
    Réponses: 7
    Dernier message: 23/08/2005, 14h58

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