Partager via


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 /GLde .

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) {}