Erreur des outils Éditeur de liens LNK1237
lors de la génération de code, le compilateur a introduit la référence au symbole 'symbol' défini dans le module 'module' compilé avec /GL
Notes
Pendant la génération de code, le compilateur ne doit pas introduire de symboles qui sont ultérieurement résolus en définitions compilées /GL
. symbol
est un symbole qui a été introduit et ultérieurement résolu en une définition compilée à l’aide /GL
de .
Pour plus d’informations, consultez /GL
(optimisation du programme Qui le).
Pour résoudre LNK1237, n’utilisez /GL
pas pour compiler le symbole ou utilisez /INCLUDE
(Forcer les références de symboles) pour forcer une référence au symbole.
Exemple
L’exemple suivant génère des LNK1237. Pour résoudre cette erreur, n’initialisez pas le tableau et LNK1237_a.cpp
ajoutez-y /include:__chkstk
la commande link.
Fichier source LNK1237_a.cpp
:
// LNK1237_a.cpp
int main() {
char c[5000] = {0};
}
Fichier source LNK1237_b.cpp
:
// LNK1237_b.cpp
// compile with: /GS- /GL /c LNK1237_a.cpp
// processor: x86
// post-build command: (lib LNK1237_b.obj /LTCG & link LNK1237_a.obj LNK1237_b.lib /nodefaultlib /entry:main /LTCG)
extern "C" void _chkstk(size_t s) {}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour