Sdílet prostřednictvím


Chyba linkerů LNK1237

během generování kódu zavedl kompilátor odkaz na symbol "symbol" definovaný v modulu "module" zkompilovaný pomocí /GL.

Poznámky

Během generování kódu by kompilátor neměl zavádět symboly, které se později přeloží na definice kompilované /GL. symbolje symbol, který byl zaveden a později vyřešen na definici zkompilovanou pomocí ./GL

Další informace najdete v tématu /GL (Optimalizace celého programu).

Pokud chcete vyřešit LNK1237, nepoužívejte /GL ke kompilaci symbolu ani k vynucení odkazu na symbol ( /INCLUDE vynucení odkazů na symbol).

Příklad

Následující ukázka vygeneruje LNK1237. Pokud chcete tuto chybu vyřešit, neicializujte pole LNK1237_a.cpp a nepřidávejte /include:__chkstk ho do příkazu odkazu.

Zdrojový soubor LNK1237_a.cpp:

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

Zdrojový soubor 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) {}