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

Windows Discussion :

Problème développement 64 Bit


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut Problème développement 64 Bit
    Bonjour,

    Voici mon problème dont l'origine m'est encore inconnu.
    J'ai developpé sous windows 32 Bit un logiciel en C# qui utilise une bibliothèque de traitement d'image. Une des fonctionnalités qui est l'histogramme fonctionne mais lorsque je compile en 64 bit, cette fonctionnalité ne fonctionne plus.

    Je voulais savoir si l'origine du problème serait plutot de la DLL de la bibliothèque ou de mon programme ? Histoire de savoir ou chercher l'erreur.

    Merci beaucoup

    Algernon

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Cela peut venir de la plateforme cible sélectionnée au moment de la compilation (propriété du projet/onglet généré).

    Tu as 3 choix :
    - x86 : Force la compilation en 32 bits. Le logiciel fonctionnera dans un mode 32 bits même sur les plateformes 64 bits.
    - x64 : Force le mode 64 bits. Le logiciel ne fonctionnera que sur les plateformes 64 bits.
    - Any CPU : Le logiciel s'adapte à la plateforme.

    Par défaut c'est Any CPU qui est sélectionné. Cela signifie que sur une plateforme 64 bits, ton logiciel fonctionnera en 64 bits. Seulement s'il fait appel à une dll qui elle n'est compilée qu'en mode 32 bits, il peut effectivement y avoir des conflits dans les appels générant des erreurs ou des plantages.

    Essaye donc de recompilant ton logiciel en forçant le mode 32 bits (x86) pour voir si ça marche mieux.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    J'ai déjà eu ce problème avec OpenCV, et le problème vient de la bibliothèque: Pour exécuter ton programme C# sous Win64, tu as besoin de la version 64 bits de la DLL.

    Si, comme OpenCV, tu n'as pas de version 64 bits, tu dois forcer le mode 32 bits (WOW64) dans ton programme C# comme indiqué par sevyc64.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut
    Merci de tes conseils, mais j'ai essayer ce que tu as dit et toujours le meme probleme, Windows me met un message comme quoi mon logiciel a rencontrer une erreur.
    Sinon lorsque je laisse en x64 les propriétés du projet mon logiciel demarre normalement mais la fonctionnalité foire toujours et me génére la meme erreur de windows.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut
    Ok merci, je vais voir si je peux pas avoir une version 64 Bit de la DLL.

    Merci encore

    Algernon

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut
    En fait, en regardant bien le code, j'ai remarquer que il y a une donnée d'une classe qui disparait comme ca en plein milieu du code, malheureusement, je crains de ne pas avoir encore la DLL 64 bit.

    Merci

    Algernon

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Si tu n'as pas la dll en 64 bits, recompile ton code en forçant le mode 32 bits (x86 au lieu de Any CPU) et reteste sur ta plateforme 64 bits
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut
    J'ai deja essayer mais le probleme est toujours la.

    Merci quand meme.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Peut-être l'utilisation d'une dll qui n'est présente que sur la plateform 32 bits.
    Reflector + Dependency Walker

Discussions similaires

  1. [Gestionnaire de pilotes ODBC] Problème PC 64 bits
    Par Drakkenator dans le forum JDBC
    Réponses: 20
    Dernier message: 12/11/2012, 01h47
  2. Problème développement Live Wallpaper
    Par azaghal dans le forum Android
    Réponses: 2
    Dernier message: 23/04/2011, 00h26
  3. [SP-2007] Problème Développement de colonnes personnelles
    Par Sylvain_57 dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 25/01/2011, 20h40
  4. Problème développement site web sur IPhone
    Par openeyes dans le forum Développement iOS
    Réponses: 6
    Dernier message: 17/11/2010, 14h31
  5. Développement 32 bits sur système 64 bits
    Par vg-matrix dans le forum VB.NET
    Réponses: 17
    Dernier message: 04/08/2010, 16h25

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