Creation de dll

Signaler
Messages postés
2
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
3 août 2003
-
Messages postés
126
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
15 février 2005
-
Bonjour à tous,

Depuis déjà plusieurs semaines, j'essais de créer une dll sous visual studio6 (en cpp), et de l'utiliser sous builder C++5.
Mhum, je vois déjà des sourirs tomber ;p
Oui, c'est sans doute un peu complexe, mais j'aurais besoin de vos connaissances, car je n'y arrive vraiment pas :-(

- Premiere partie : création de la dll sous Visual :
la déclaration de ma classe ressemble à ceci :
class _declspec (dllexport) nomclass {.....} ;

- la complilation se passe bien, j'utilise l'outil implib pour créer le .lib grace à la .dll que je viens de créer.

- Ensuite, sous BuilderC++, apres avoir inclus dans mon projet le .lib, je déclare la classe comme ceci :
class _declspec (dllimport) nomclass {.....} ;

A la compilation, le message d'erreur apparait :
unresolved external nomclass ...etc...

Bref, j'espere que j'ai été assez claire, et que certains d'entre vous pouront me m'aider, meme si c'est une autre méthode.
Merci d'avance !

1 réponse

Messages postés
126
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
15 février 2005

Salut

en fait ton erreur est ke tes fonctions exportées ne sont pas vu c'est ca ? non?

a tu essayé d'exporter différement ?
C'est a dire en utilisant un fichier de définition et _stdcall.
Je dis ca juste pour t'aider car je suis loin d'etre un pro mais bon on ne sais jamais ... ;o)
Une fois, j'ai créé une dll en utilisant _declspec (dllexport).
Or tous les langages de programmation (enfin je supoz ke ca vien des compilateurs) ne voyaient po mes fonctions exportées....
J'ai donc créer une DLL avec un .def et _stdcall et maintenant tout le monde réussi a voir mes fonctions exportées...

Bon voila, j'espère ke je t'ai répondu en étan po complètement Hors Sujet ; si c'est le cas, MILLES EXCUZ !

Ciao et bon courage.
None.