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 :

LoadLibrary ne trouve pas la DLL


Sujet :

Visual C++

  1. #1
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut LoadLibrary ne trouve pas la DLL
    bonjour,

    sous Visual C++ j'ai écrit un petit programme en C++ qui permet d'accéder à un port parallèle en utilisant une DLL inpout32.dll :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	HINSTANCE hLib;
    	hLib = LoadLibrary( "inpout32.dll" );
    	if (hLib==NULL)
    	{
    		std::cout << "ko";
    		Sleep(1000);
    		return 1;
    	}
     
    	std::cout << "ok";
    	Sleep(1000);
     
    	FreeLibrary(hLib);
    Ce programme fonctionne très bien à condition de mettre la DLL en question dans le même dossier que l'exécutable. Je l'ai compilé en 32 bits et avec le jeu de caractères multioctets MCBS. Pas de souci donc avec ceci.


    Maintenant j'essaye d'implémenter ce bout de code dans une DLL 32 bits mais compilée avec le jeu de caractères UNICODE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    hLib = LoadLibraryA("inpout32.dll");
     
    if (hLib == NULL)
    {
    	cout << "ko";
    }
    else
    {
    	cout << "ok";
    	FreeLibrary(hLib);
    }
    j'ai utilisé la fonction LoadLibraryA() car je suis en UNICODE. Cela compile mais même si je mets inpout32.dll dans le même dossier que la DLL générée, inpout32.dll n'est pas trouvée.

    J'ai également utilisé cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadLibrary( _T("inpout32.dll") );
    mais le problème persiste.


    Où est mon erreur ? Je pense avoir oublié une directive de compilation, mais j'ignore laquelle.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 175
    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 175
    Points : 12 302
    Points
    12 302
    Par défaut
    Avez-vous vérifié le working directory ?

Discussions similaires

  1. Visual ne trouve pas certaines dll..
    Par shibby. dans le forum VC++ .NET
    Réponses: 12
    Dernier message: 13/11/2007, 08h38
  2. Réponses: 4
    Dernier message: 09/09/2006, 21h48
  3. Une DLL qui existe mais VB ne la trouve pas...
    Par Lawari dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/12/2005, 23h16
  4. [C#] Pb de DLL : ne trouve pas la bonne version
    Par sokette dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/04/2005, 14h59
  5. Le compilateur ne trouve pas glut32.dll
    Par Vathal dans le forum GLUT
    Réponses: 3
    Dernier message: 26/01/2004, 12h34

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