Utilisation de dll

cs_mfrai02 Messages postés 18 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 22 février 2007 - 19 avril 2005 à 15:04
cs_mfrai02 Messages postés 18 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 22 février 2007 - 20 avril 2005 à 09:03
Salut,



J'ai récupéré un projet C++ qui utilise les dll suivantes : (le projet compile niquel)

'MSVCP71.dll'

'OLEAUT32.dll'



J'ai crée un projet C++ MFC et j'importe les classes du premier projet,
j'ajoute tous les en-têtes qu'il faut et ça compile mais par contre il
trouve pas ces 2 dlls :



------ Build started: Project: MFC2, Configuration: Release Win32 ------



Compiling...

try1.cpp

Linking...

LINK : warning LNK4089: all references to 'MSVCP71.dll' discarded by /OPT:REF

LINK : warning LNK4089: all references to 'OLEAUT32.dll' discarded by /OPT:REF



J'aurais aimé savoir qu'est ce qui donne cette erreur ??? qu'est ce
qu'il faut que j'ajoute pour résoudre ce problème ? Merci par avance
!!!



Mathieu

7 réponses

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
19 avril 2005 à 16:25
De mémoire il me semble que l'option /OPT:REF permet de ne pas se linker aux DLL qui ne sont utilisées nul part dans le prog (en tout cas de manière statique).
Ces deux warnings indiquent justement que ces DLLs ne sont pas liées statiquement à ton executable.

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 avril 2005 à 16:32
Le code que tu as rajouté qui fait appel à des fct de ces dll n'est jamais appelée par ton prog et donc il est pas ajouté au link...
0
cs_mfrai02 Messages postés 18 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 22 février 2007
19 avril 2005 à 16:40
Merci garslouche , encore une petite question en
fait , comment on lit statiquement une DLL à un exécutable avec visual
studio .net 2003 et C++ (MFC) , je suis débutant et cette information
me serait vraiment très très utile . Encore merci par avance !!!



Mathieu
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
19 avril 2005 à 16:46
Aie... malheureusement j'ai du passer sous Linux... j'ai plus Visual sous la main.
Ca doit très probablement se trouver dans les options du projet...

Ceci-dit DLL = Dymanic Link Library donc une DLL c'est pour du dynamique... Je ne suis pas un crack en DLL mais il me semble que pour des liens statiques il faut des .lib et non des .dll.

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mfrai02 Messages postés 18 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 22 février 2007
19 avril 2005 à 16:48
Ok merci je vais voir ce que je peux faire , merci de m'avoir bien éclairer sur le sujet !!!!!
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
19 avril 2005 à 18:30
salut,

dans VS, tu crees un projet de type DLL et ca devrait te generer un .dll et un .lib.

si tu veux lier statiquement un exe avec ta DLL, tu ajoutes le .lib precedent dans ton projet d'exe.

l'exe doit connaitre le prototype des fonctions qu'il importe de la
DLL, donc tu dois avoir un .h qui existe dans ton projet DLL (qui
contient la liste des fonctions exportees notamment) qui doit etre
inclus dans le projet de l'exe.

vas voir la http://www.cppfrance.com/code.aspx?ID=21438 ou recherche DLL tutorial pour en savoir plus.



a+
0
cs_mfrai02 Messages postés 18 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 22 février 2007
20 avril 2005 à 09:03
Ok merci cosmobob, ta réponse m'aide beaucoup !!!!!!!
0
Rejoignez-nous