Linkertoolfehler LNK1237
Während der Codegenerierung führte der Compiler einen Verweis auf das Symbol "Symbol" ein, das in Modul "Modul" kompiliert mit /GL kompiliert wurde.
Hinweise
Während der Codegenerierung sollte der Compiler keine Symbole einführen, die später in kompilierte /GL
Definitionen aufgelöst werden. symbol
ist ein Symbol, das eingeführt und später in eine mit der Verwendung /GL
kompilierte Definition aufgelöst wurde.
Weitere Informationen finden Sie unter /GL
(Wer le Program Optimization).
Um LNK1237 aufzulösen, verwenden Sie das Symbol nicht /GL
, oder verwenden /INCLUDE
Sie (Erzwingungssymbolverweise), um einen Verweis auf das Symbol zu erzwingen.
Beispiel
Im folgenden Beispiel werden LNK1237 generiert. Um diesen Fehler zu beheben, initialisieren Sie das Array LNK1237_a.cpp
nicht, und fügen Sie es dem Linkbefehl hinzu /include:__chkstk
.
Quelldatei LNK1237_a.cpp
:
// LNK1237_a.cpp
int main() {
char c[5000] = {0};
}
Quelldatei 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) {}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für