begin process at 2012 02 13 02:58:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

MFC

 > 

Utiliser des dll dans un projet VS 2005 avec MFC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utiliser des dll dans un projet VS 2005 avec MFC

mardi 18 novembre 2008 à 20:36:08 | Utiliser des dll dans un projet VS 2005 avec MFC

ebrainis

Salut à tous, Je doit controller un hardware fourni avec une dll. J'ai crée un interface graphique avec VS et les MFC. Parcontre, quand j'essaye d'utiliser des fonctions définies dans la librairie, VS me fait des erreurs de liaison (error LINK2019: unresolved external symbol ...). J'ai surement dû faire un truc de travers. Quelqu'un peut-il m'expliquer comment déclarer et utiliser une dll dans un programme mfc?
mardi 18 novembre 2008 à 21:51:19 | Re : Utiliser des dll dans un projet VS 2005 avec MFC

julienbj

Réponse acceptée !
Je dirais qu'il y a 2 possibilités:
Soit ta dll est livrée avec un fichier .lib, auquel cas, tu linkes ton projet avec cette librairie:
#pragma comment(lib, "malib.lib")
Et dans ce cas, tu ne dépends même plus de la dll, pas besoin de la livrer avec ton code.

Soit tu n'as pas le fichier lib (ce qui semble être on cas).
Dans ce cas, il faut que tu "importes" les définitions de tes dll (__declspec(dllimport)) ou que tu les charges dynamiquement (LoadLibrary et GetProcAddress).
Richter t'expliqueras cela bien mieux que moi :
http://brunews.com/brunews/download/JR4.zip
http://brunews.com/brunews/download/JR4Sources.zip
Ce sont 2 documents forts intéressants paratagés par Brunews.

--
Vive le C
Savon
mardi 18 novembre 2008 à 22:39:56 | Re : Utiliser des dll dans un projet VS 2005 avec MFC

ebrainis

D'abord un granf merci d'avoir répondu si vite :) En fait, j'ai un fichier .lib qui va avec ma dll. J'ai aussi un header qui contient les déclarations (mais pas les définitions) de toutes les fonctions de la dll; je l'ai inclu dans le projet. Je viens d'essayer la commande #pragma comment(lib, "malib.lib") ... ET CA MARCHE. Le problème est que je ne comprend pas ce que fait cette commande. Un commentaire dans un pragma c'est bien curieux pour charger une librairie ... Tu pourrais expliquer stp :) Encore MERCI
mercredi 19 novembre 2008 à 00:02:40 | Re : Utiliser des dll dans un projet VS 2005 avec MFC

julienbj

Ce pragma est juste un moyen de lier une librairie externe à ton programme pendant le linkage. Le mot "comment" est trompeur ;)
 Lorsque tu construis ton executable, il y a plusieurs phases dont au moins ces 2 la:
1.- Compilation --> Création de fichier objets pour chaque fichier sources (.c / .cpp / ...)
2.-Linkage --> Association de chacun des fichiers objets avec résolution des addresses entre chaque pour créer ton executable

L'explication est évidemment très sommaire.
Avec le pragma que je t'ai indiqué, tu dis au linker qu'il faut qu'il inclue le fichier lib que tu auras spécifié au même titre qu'un fichier objet. Ainsi, plus de problèmes de symboles non défini.

A la différence d'une dll, le code de la librairie est contenu dans ton executable qui aura donc une taille plus importante. En contre partie, il ne dépendra pas de cette dll.

--
Vive le C
Savon
mercredi 19 novembre 2008 à 15:37:10 | Re : Utiliser des dll dans un projet VS 2005 avec MFC

ebrainis

OK. merci beaucoup. :)


Cette discussion est classée dans : projet, dll, utiliser, mfc


Répondre à ce message

Sujets en rapport avec ce message

Peut-on utiliser un Activex en VC++ sans MFC? [ par racpp ] Salut tout le monde,Je sais comment ajouter et manipuler un controle Activex dans un projet VC++ MFC. Mais je cherche un moyen pour faire la même cho DLL dans MFC [ par 69lion69 ] Salutttttttt, Comment transformer un projet programmer en api wiindows en Dll pour l'utiliser avefc MFC. Et comment fait-on pour utiliser en suite la je veux utiliser une dll dans un projet vc++ sachant que je ne dispose que du .dll et du .h mais pas de .lib [ par bissbiss ] j'ai envis d'utilser pqsql.dll qui est une ddl pour gerer une connexion avec une base de données postgresql. comment faire?? Comment utiliser une bibioltheque MFC independante [ par rani_topo ] Au secours!!,Bonjour,Je suis etudiant, debutant en programmation, je developpe un outil en vc++ 6. Je dispose d'une bibliotheque MFC developee en c ai DLL et MFC [ par Loukhass ] Bonjour. J'utilise MFC pour pouvoir utiliser la classe CMutex. Seulement, dans le même projet,j'ai besoin d'utiliser jni. Pour cela, je dois creer un utiliser un dll non .net dans un projet VS C++ 2005 [ par dodz ] Salut,au fait j'ai un probleme lié à l'utilisation d'un dll non .Net dans un projet de Visual Studio  C++ 2005.J'ai reçu un .h et le dll ainsi que le Utiliser une dll managée sur un application MFC [ par billou_13 ] Tout est dans le titre ...Ayant développé un dll managée en C++ .Net, je voudrais savoir s'il est possible de l'utiliser dans une application MFC (C++ socket dans une DLL MFC [ par jb_exe ] Bonjour à tous...j'essai de réaliser une petit application qui ne ferait que lancerdes dll ( avec LoadLibrary ) comme si il s'agisait de plugin....j'a utilisation d'une dll.net en C [ par thmatew ] Bonjour a tous,Voila mon souci, j'ai besoin d'intégrer une dll.NET en C, j'aimerais savoir comment faire pour utiliser cette dll???!!!!j'utilise Visua Problème dans un projet ATL COM avec DLL et MFC. [ par jamais34 ] Bonjour, j'ai un problème dans un project ATL COM de type DLL qui supporte les MFC. Après avoir ajouté un object ATL de type "Property Page" (dans la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,732 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales