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 :

DLL - seule une version compilée en debug fonctionne


Sujet :

Visual C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut DLL - seule une version compilée en debug fonctionne
    Salut
    J'ai fais une DLL en C++ à partir de visual C++ express 2008 que j'ai compilé en version release. Sur la majorité des ordinateurs que je teste mon DLL ça fonctionne, mais sur certains ça seul une version compilé en debug fonctionne.

    Est-ce que ça aurait un rapport avec le compilateur express, une option de compilation, une config particulière de l'ordinateur récalcitrant (en Vista pro 32 bits) ou autre chose?

    Merci

    Mon code très simple:
    Configuration release
    Bibliothèque dynamique (.dll)
    Bibliothèque runtime DLL multithread (/MD)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #pragma once
    #include "WebService.h"
    using namespace System;
     
    extern "C" __declspec(dllexport) const int Verif_MJ(char* cVersion,char* cID,char* cProp,char* cPostal)
    {
    	String^ strVersion = gcnew String(cVersion);
    	String^ strID = gcnew String(cID);
    	String^ strProp = gcnew String(cProp);
    	String^ strPostal = gcnew String(cPostal);
    	Service_LLS::LLSService serv;
    	return serv.compare_version(strVersion,strID,strProp,strPostal);
    }

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 157
    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 157
    Points : 12 271
    Points
    12 271
    Par défaut
    , mais sur certains ça seul une version compilé en debug fonctionne.
    Escusez mais ma boile de cristal est en révision.

    Trèves de plaisanterie, que ce passe t'il quand l'application de fonctionne pas ?

    Souvent c'est l'inverse, car les Dll debug ne sont pas sur les machines autres que celles de développement.
    A moins de faire du .NET pur, je serais très circonspect si le programme fonctionne en Debug sur une machine de tests ou de production (non développeur).

    Si votre programme "plante" sur une machine ayant VS d'installé, le plus simple est de débugger votre projet en Release sur cette machine.

    Sinon, configurez Dr Watson d'une des machines où l'application "plante" pour générer un Dump de l'exécutable lors du plantage.

    Les cas les plus fréquents, outres les boulettes de programmation sont l’absence de certaines Dll ou version du Dll sur certaine machine.

    Maitrisez-vous les dépendances de vos Dll et avez-vous pris la peine de faire une MSI pour packager toutes les Dll nécessaires à votre Dll/application ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/10/2006, 08h42
  2. Erreur de compilation sur une librairie en mode debug
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/05/2006, 16h32
  3. Compiler en debug avec une librairie en release
    Par Philippe320 dans le forum MFC
    Réponses: 4
    Dernier message: 25/11/2005, 17h33
  4. Partager une version entre plusieurs DLL
    Par barthelv dans le forum MFC
    Réponses: 4
    Dernier message: 22/11/2005, 10h25
  5. créér une dll avec borland c++ compiler
    Par juju62610 dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 26/02/2003, 09h46

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