Nsjn
Messages postés5Date d'inscriptionlundi 22 septembre 2008StatutMembreDernière intervention 5 avril 2009
-
3 avril 2009 à 18:24
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 2010
-
5 avril 2009 à 11:37
Bonjour à tous,
Je tente de créer la dll erthlib.dll à partir du fichier earth.idl sous C++ ( Visual 8 ).
Tout se passe correctement jusqu'à l'edition de liens qui me donne 8 erreurs LNK 2001 pour des fonctions appartenant à rpcproxy.h apparement, et dont voici la liste :
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _CStdStubBuffer2_Release@4
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _NdrStubCall2@16
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _NdrStubForwardingFunction@16
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _IUnknown_Release_Proxy@4
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _IUnknown_AddRef_Proxy@4
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _IUnknown_QueryInterface_Proxy@12
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _NdrOleFree@4
1>EARTH_p.obj : error LNK2001: symbole externe non résolu _NdrOleAllocate@4
1>C:\JNS\GE8\Debug\GE8.dll : fatal error LNK1120: 8 externes non résolus
Quelqu'un saurait il m'en expliquer la raison ? peut être même proposer une solution ?
Dans tous les cas, merci de vos réponses,
nsjn
Nsjn
Messages postés5Date d'inscriptionlundi 22 septembre 2008StatutMembreDernière intervention 5 avril 2009 4 avril 2009 à 08:13
Hello,
Merci à juju12. Effectivement cela va nettement mieux comme ça. Au risque d'être casse bonbon...il en reste un de non referencé ! A savoir :
symbole externe non résolu _CStdStubBuffer2_Release@4
Il me semble pourtant que cette fonction appartient à la même librairie. Mais je dois avoir tort. Je vais creuser, mais si tu as une idée..
Merci encore et désolé pour mon retard à répondre, j'étais de sortie hier soir !!
Bye
nsjn
Carpe Diem
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 4 avril 2009 à 14:29
J'ai pas trouvé ce truc-là...on dirait une dérivée de CStdStubBuffer
Peux-tu vérifier si ça vient effectivement de RpcRT (regarde dans le .h)? Sinon, quelle provenance?
Nsjn
Messages postés5Date d'inscriptionlundi 22 septembre 2008StatutMembreDernière intervention 5 avril 2009 4 avril 2009 à 14:51
Hello,
Effectivement, je trouve ce bidule dans rpcproxy.h, dans un paragraphe marqué New Function dont voici un extrait. Ce que je ne comprends pas, c'est la raison pour laquelle ceci n'est pas vu par le pragma que tu m'as conseillé de rajouter. J'ajouterai que ces fichiers .h sont extremement récent, je les ai télécharger il y a une dizaine de jours. Quand ceci tournera, tu auras table ouverte à Lyon. Bye et merci encore.
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 4 avril 2009 à 19:31
Aïe...
La raison elle est simple, c'est que c'est pas une fonction importée... en fait juste une définition...
Bon, j'avoue, je sais pas du tout quoi faire là...
Voici un article (vieux, je sais pas si les infos sont encore valables) qui t'aidera je l'espère :
http://support.microsoft.com/kb/164149/en-us
Nsjn
Messages postés5Date d'inscriptionlundi 22 septembre 2008StatutMembreDernière intervention 5 avril 2009 4 avril 2009 à 19:48
Hello,
Merci pour tout. Je vais regarder cela demain matin et ne manquerai pas de te tenir au courant. Selon le temps qu'il me faudra, je t'avertirai peut être un peu plus tard, car je pars demain soir ( je suis routier, gros camion, vroum,vroum...)
Merci encore et à très prochainement.
nsjn
Nsjn
Messages postés5Date d'inscriptionlundi 22 septembre 2008StatutMembreDernière intervention 5 avril 2009 5 avril 2009 à 08:33
Hello,
eureka peut être. J'ai pu générer la dll sans erreur. En fait j'ai forcé C++ à travailler sans utiliser le stdafx.h et à traiter le code comme étant du C.
Cette idée m'est venue en considérant le code généré par MIDL, à savoir du h et du C classique.
Toutefois la directive que tu m'as indiquée reste essentielle au niveau du fichier earth_p.c
Bien, maintenant il me reste à inclure ceci dans une grosse app en C V6. Encore quelque moment interressant en perspective.
En tous cas merci de ton aide et petit rappel : si tu passes à Lyon, table ouverte.
Bon week end
nsjn
Carpe Diem