Compartilhar via


Erro das ferramentas de 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

Comentários

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

Para obter mais informações, confira /GL (Otimização do Programa Inteiro).

Para resolver o erro LNK1237, não use /GL para compilar o símbolo ou use /INCLUDE (Forçar Referências de Símbolo) para forçar uma referência para o símbolo.

Exemplo

A amostra a seguir gera o erro LNK1237. Para resolver esse erro, não inicialize a matriz em LNK1237_a.cpp e adicione /include:__chkstk ao comando de vínculo.

Arquivo de origem LNK1237_a.cpp:

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

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