2009-03-13 6 views
1

Je compile mon projet en mode release dans VC++. Je dispose d'un fichier .def où je l'ai déclaré setLog et maintenant je reçois erreur suivantProblème lors de la compilation en mode release --VC++

Lier ... Création bibliothèque Release/HKL.lib et l'objet Release/HKL.exp HKL_libinterface.obj: erreur LNK2001: symbole externe non résolu _SCTP_setLog @ 8

S'il vous plaît aidez-moi sur ce qui précède pour résoudre le problème.

Merci

Répondre

0

Si cette compile en mode débogage la raison la plus possible est que en quelque sorte le code où cette fonction est mise en œuvre ne sont pas inclus dans la construction - par exemple, le fichier cpp où il est mis en œuvre a « Sont exclus de la construction " ensemble.

+0

Oui, il compile bien dans le mode de débogage .. Comment inclure un fichier cpp dans le jeu de construction .. plz me dire comment .. Merci –

+0

Vous ajoutez à l'arborescence du projet dans l'Explorateur de solutions. Je suppose que vous l'avez déjà ajouté. Ensuite, vous faites un clic droit, sélectionnez "Propriétés" et vérifiez ce qui se trouve dans l'onglet Général. "Formulaire de formulaire exclu" devrait être "Non". – sharptooth

+0

Je vois une case à cocher pour "Construire un formulaire exclu" dans l'onglet Général où pour tous les fichiers cpp cette "Formulaire de formulaire exclu" est décochée (je suppose que c'est NON). Mais je suis aussi confronté à la même erreur. –

0

Comme mentionné plus haut, vous ne compilez probablement pas la fonction ci-dessus dans votre version finale. En plus de chercher 'Exclue de la construction', vérifiez si vous avez un ensemble de définitions (ou non) qui exclurait la fonction manquante de votre version de version.

+0

Salut pouvez-vous s'il vous plaît expliquez-moi en détail où et comment vérifier cela .. :(im new to this –

2

Il me semble que vous avez un fichier lib configuré dans votre version de débogage qui ne se trouve pas dans la version finale. Votre fonction setLog() ne semble pas être la fonction dont se plaint l'éditeur de liens - il semble qu'elle ne trouve pas de fonction appelée SCTP_setLog().

Regardez dans la liste des bibliothèques que vous avez configurées dans la configuration de débogage de votre projet et assurez-vous qu'elles sont également configurées dans la configuration de version.

+0

Visual Studio vous permet de définir deux fois chaque option de construction - une fois dans Debug et une fois dans Release - juste au cas où vous voulez qu'ils soient différents (ce qui est parfois le cas –

+0

Vous pouvez * définir * les deux à la fois, mais vous devez vous rappeler que * avant * vous définissez réellement l'option :) – Thomas

Questions connexes