Errore degli strumenti del linker LNK1237
durante la generazione del codice, il compilatore ha introdotto il riferimento al simbolo 'symbol' definito nel modulo 'module' compilato con /GL
Osservazioni:
Durante la generazione del codice, il compilatore non deve introdurre simboli risolti successivamente nelle definizioni compilate /GL
. symbol
è un simbolo introdotto e successivamente risolto in una definizione compilata tramite /GL
.
Per altre informazioni, vedere /GL
(Ottimizzazione dell'intero programma).
Per risolvere LNK1237, non usare /GL
per compilare il simbolo o usare /INCLUDE
(Forza riferimenti ai simboli) per forzare un riferimento al simbolo.
Esempio
L'esempio seguente genera LNK1237. Per risolvere questo errore, non inizializzare la matrice in LNK1237_a.cpp
e aggiungere /include:__chkstk
al comando di collegamento.
LNK1237_a.cpp
File di origine :
// LNK1237_a.cpp
int main() {
char c[5000] = {0};
}
LNK1237_b.cpp
File di origine :
// 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) {}