Créer une dll à partir d'un .h et du lib correspondant

Signaler
Messages postés
80
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
-
Bonjour à tous,

Voilà dans le cadre d'uen grosse application, je dois utiliser un .h et un .lib mis à dispo par quelqu'un d'autre, l'application que nous développons sera en c#, pour pouvoir utiliser ce .h j'ai besoin d'en faire une dll pour l'utiliser dans l'appli finale hélas je ne sais plus comment faire.

Quelqu'un peut-il m'aider

Merci

Z.

5 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Généralement, le header (.h) ne contient que les fonctions qui peuvent être utiliser avec la librarie et non pas la source du DLL. Ce que je veut dire c'est que si tu n'a que le nom des fonctions et leurs paramètres dans ton header, c'est impossible de faire un DLL avec ça, c'est fait pour utiliser la librairie qui elle va te linker au DLL qui est déjà créé quelque part.
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
Je pense qu'il parle d'une .lib librairie statique et pas une librairie de link avec une dll. Je pense qu'il faut que tu recrée la DLL toi-même

Exemple : Tu as dans le .h une fonction nommée MaFonctionLib() et qui est définie dans la lib MaFonction.lib. Tu crée ta DLL qui s'appelle MaFonction.dll et tu met comme code dedans :

void MaFonctionDll()
{
MaFonctionLib();
}

Comme ça tu va avoir le code de la lib statique ds ta dll.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
En effet. Si tu a une librarie statique, fait comme dit nightlord666. Sinon, recherche la librairie dynamique.
Messages postés
80
Date d'inscription
jeudi 2 février 2006
Statut
Membre
Dernière intervention
24 mai 2007

Re bonjour à tous !

Oui je vois ce que vous voulez dire j'ai créé une bibliothéque de classe sous v C++ express, qui utilise le .h en question. Le soucis est que je vois bien dans l'explorateur de référence les différentes constantes déclarées (enum struct, etc....) dans le fichier entête, mais je ne vois pas les fonctions. La génération de la dll se passe bien mais quand j'utilise cette dll dans un source C# je ne vois rien....

J'avoue sécher un peu la

Merci de votre aide.

Z.
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
8
C'est parce-que les DLL faites en C++ ne sont pas .NET, comme celles faites en C#. Il faut que tu génère ta DLL en mettant tout ton code en .NET pour pouvoir la récupérer en C#, qui est un langage .NET.