Téléchargement
illégal
Posez votre question Signaler

[C++] création de DLL [Résolu]

maily 7564Messages postés 26 juin 2000Date d'inscription - Dernière réponse le 21 août 2004 à 11:54
Bonjour tout le monde!!

Alors, je dois créer une DLL utilisant des fonctions prédéfinies dans un .h et définies dans un .c (keybox.h et keybox.c)
Pour ce faire, j'ai donc prédéfinies mes fonctions dans mon .h de ma DLL en utilisant
__declspec( dllexport )
. Puis, dans mon .c, j'ai juste fait un appel aux fonctions définies dans keybox.h en faisant un include et en ayant rajouté le chemin pour trouver keybox.h
mais, oh surprise, j'ai une erreur!!

StdAfx.obj : error LNK2001: unresolved external symbol "int __cdecl KEYBOX_Init(struct KEYBOX_S *)" (?KEYBOX_Init@@YAHPAUKEYBOX_S@@@Z)


Quelqu'un peut bien m'expliquer pourquoi j'ai cette erreur?
il est fort possible que je ne sois pas claire, dans ce cas, demandez moi des précisions!

Merci à l'avance!


Maily   :-))))
Lire la suite 

[C++] création de DLL »

11 réponses
Réponse
+4
moins plus
Comment créer une dll avec visual c++?
Ajouter un commentaire
Réponse
+0
moins plus
Salut Maily, comment vas tu ?

Bon a mon avis, deux possibilités : ou tu as inclu un *.h qui fou la merde, ou tu as utilisé des noms de fonctions existantes, qui foutent aussi la merde ... En tout cas c'est lié à un de tes includes.

Ces une erreur au link, et dans un fichier que tu n'a pas créé ... donc je serai toi j'isolerai (par des commentaires) le fichier include qui fou la merde ....

Voili voilou, a+

Debout les crabes, la mer monte !
mailymaily - 4 août 2003 à 15:45
Et bien, pour la première, j'ai fait une erreur de débutante... j'ai pas inclus dans le projet le .c où étaient définies les fonctions! Je croyais que le .h suffisait! Mais non!!

Pour la deuxième, j'ai trouvé aussi... Suffisait d'enlever l'option avec des precompiled header de mon projet!

Je n'ai plus qu'à tester la DLL!!

Merci pour le lien!

Maily   :-))))
Lord Wodenmaily - 5 août 2003 à 09:12
Salut,

ce type de message d'erreur ce produit lorsque visual trouve une incohérence entre l'état de ton projet de dev et son fichier d'entête pré-compilé. En bref, ce fichier à été modifié en dehors de visual et donc visual comprend plus rien.

La solution la plus simple c'est de ne pas utiliser ce genre de truc, car de toute facon si on ne le maitrise pas a font ce genre de truc met plus de bordel qu'il en solutionne. Mais bon c toa qui voit, donc voici les deux solutions :
1. Tu dégages les entêtes précompilées : "Propriétés" du projet, section "C/C++", puis "Entêtes précompilées" mettre "Sans utiliser les enêtes précompilées".
2. Tu gardes les entêtes précompilées. Tu détruit le fichier PCB de ton projet, et tu fais "Génèrer" ton projet. Le fichier devrait se regénérer de lui même.

@+ Lord Woden ;o)
mailymaily - 5 août 2003 à 09:53
Merci!!!

ça marche bien maintenant!!

Maily   :-))))
Ajouter un commentaire
Ce document intitulé « [C++] création de DLL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?