連結器工具錯誤 LNK1237
在程式代碼產生期間,編譯程式引進了以 /GL 編譯模組 'module' 中定義的符號 'symbol' 參考
備註
在程式代碼產生期間,編譯程式不應該引進稍後解析為編譯 /GL
定義的符號。 symbol
是引進的符號,稍後會解析為使用 /GL
編譯的定義。
如需詳細資訊,請參閱 /GL
(整個程式優化) 。
若要解析LNK1237,請勿使用 /GL
來編譯符號,或使用 /INCLUDE
[強制符號參考] 強制參考符號。
範例
下列範例會產生LNK1237。 若要解決此錯誤,請勿在 中 LNK1237_a.cpp
初始化陣列,並將 新增 /include:__chkstk
至連結命令。
來源檔案 LNK1237_a.cpp
:
// LNK1237_a.cpp
int main() {
char c[5000] = {0};
}
來源檔案 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) {}