Partilhar via


Erro de ferramentas do vinculador LNK1237

durante a geração de código, o compilador introduziu a referência ao símbolo 'symbol' definido no módulo 'module' compilado com /GL

Observações

Durante a geração de código, o compilador não deve introduzir símbolos que são posteriormente resolvidos para definições compiladas /GL. symbol é um símbolo que foi introduzido e posteriormente resolvido para uma definição compilada usando /GL.

Para obter mais informações, consulte /GL (Otimização de todo o programa).

Para resolver LNK1237, não use /GL para compilar o símbolo, ou use /INCLUDE (Force Symbol References) para forçar uma referência ao símbolo.

Example

O exemplo a seguir gera LNK1237. Para resolver esse erro, não inicialize a matriz em LNK1237_a.cpp e adicione /include:__chkstk ao comando link.

Ficheiro de origem LNK1237_a.cpp

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

Ficheiro de origem 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) {}