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
. symbol
je 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) {}