erreur C2733 deuxième C liaison de la fonction surchargée «fonction» non autorisée
Je suis en train de compiler vieux rpc MFC projet dans Visual Studio 2010 pro.
Il utilise les dll qui est compilé à l'aide de Labview, et je suis l'ajout de cette information parce que je ne sais pas ce qui est à l'origine du message d'erreur..
Les messages d'erreur apparaissent sur de multiples fonctions, tout le même type d'erreur.
error C2733: second C linkage of overloaded function 'function name' not allowed.
le "nom de la fonction' comprend: 'StrCatW', 'StrCmpNW', 'StrCmpW', 'StrCpyNW", et "StrCpyW'
J'ai trouvé un cas similaire sur le web.
Bien que la suggestion dans le lien n'a pas résolu dans mon cas, et je vois toujours les mêmes messages d'erreur.
Merci d'avance pour ceux qui cherchent à aider.
source d'informationauteur JP_medevice | 2011-10-20
Vous devez vous connecter pour publier un commentaire.
Je n'ai aucune expérience avec les MFC, de toute façon je vais essayer de répondre.
Un tel message d'erreur s'affiche lorsqu'une
extern "C"
fonction est déclarée avec un autre ensemble de paramètres. Par exemple:Dans votre cas, les deux déclarations sont probablement liées à
char*
:Essayez de désactiver le support de l'Unicode dans votre solution: je suppose que, si la dll est vraiment vieux, c'est en quelque sorte déclare
StrCatW
avecchar*
arguments, en conflit avec un autre déclaration.Si cela ne fonctionne pas, tourner sur la séquence de sortie (
/E
commutateur de compilateur, autant que je me souvienne) - il va sortir un très gros fichier, alors regardez pour lesStrCatW
peut-être que ça vous donnera des indices sur ce qui se passe.