Compartir a través de


Error de las herramientas del vinculador LNK1237

durante la generación de código, el compilador introdujo la referencia al símbolo "symbol" definido en el módulo "module" compilado con /GL

Comentarios

Durante la generación de código, el compilador no debería introducir símbolos que se resuelvan posteriormente en definiciones compiladas /GL. symbol es un símbolo que se introdujo y se resolvió posteriormente en una definición compilada mediante /GL.

Para obtener más información, consulte /GL (Optimización de todo el programa).

Para resolver LNK1237, no use /GL para compilar el símbolo o use /INCLUDE (Forzar referencias de símbolos) para forzar una referencia al símbolo.

Ejemplo

En el ejemplo siguiente se genera LNK1237. Para resolver este error, no inicialice la matriz en LNK1237_a.cpp y agregue /include:__chkstk al comando link.

Archivo de origen LNK1237_a.cpp:

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

Archivo de origen 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) {}