Envoyé par
bertrand125
Finalement, les décorations ne sont pas les mêmes, j'avais mal lut car il n'y avait qu'une seule lettre de différence.
Dans le .def: _Z5printiz
et la fonction recherchée par l'éxécutable: _Z5printz
En la déclarant extern "C", la compilation de la DLL ne passe pas, il dit que la fonction est redéfinie.
Pour que la fonction apparaisse dans le .def, je suis contraint d'ajouter un __declspec(dllexport) lors de la définition de la fonction, en plus de sa déclaration. Je pense que le problème viens du fait que le prototype de déclaration et celui de définition est différent pour les fonctions à paramètres variables:
pour la déclaration: int fonction(...)
pour la définition: int fonction(int n_args, ...)
Partager