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.cppFile di origine :

// LNK1237_a.cpp
int main() {
   char c[5000] = {0};
}

LNK1237_b.cppFile 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) {}