Création fichier .def [Résolu]

Signaler
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
-
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
-
Bonjour à tous


Je suis débutant sous visual c++ 2008 express, et j'écris une dll pour créer des fonctions pour Excel. Mon souci, c'est que je ne parviens pas à supprimer la décoration des noms, parce que je n'ai pas trouvé comment créer le fichier .def comme expliqué sur la page http://msdn.microsoft.com/fr-fr/library/dt232c9t.aspx.

J'ai cliqué droit comme un malade dans tous les noeuds de l'explorateur de solutions sans trouver comment ajouter ce fichier. En regardant avec l'explorateur Windows dans l'arborescence de la solution, je n'ai pas trouvé de fichier avec cette extension.

Quelqu'un peut-il me guider ? Je vous remercie d'avance

5 réponses

Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Bonjour,

Pour supprimer la décoration des noms, tu peux aussi exporter tes fonction en extern "C"
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
sinon pour le fichier def, tu fais comme pour ajouter un .h/.cpp/.rc... sauf que tu mets une extension .def au nom du fichier.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Dans les paramètres linker il faut ajouter
/def:"cheminRELATIFduFICHIERdef"
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Bonjour

Merci pour vos réponse (y compris le MP de Miquel75). Elles m'ont permis d'avancer un peu : en suivant le conseil de Juju j'ai ajouté le .def à partir d'un .h, dans lequel j'ai mis :

EXPORTS
    EXCELARRAY=_ExcelArray@4

J'ai sauvegardé, et j'ai regénéré la solution, mais la décoration est toujours là !

Peut-être est-ce dans la déclaration de ma fonction qu'il y a quelque chose qui cloche :

 extern "C" _declspec(dllexport)
VARIANT _stdcall ExcelArray(VARIANT& ExcelArray)

Bon, c'est pô bien méchant, il suffit d'aliasser le nom de fonction sous Excel. De toute façon, le nettoyage (de pile ou autre) et la décoration, ça n'a jamais été mon truc ; c'est pas mon épouse qui dira le contraire.

Amicalement
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Bonjour Guillaume et les autres

C'est enfin bon grâce à vos conseils. Quelle pomme !

Merci