共用方式為


連結器工具錯誤 LNK1237

在程式碼產生期間,編譯器引進了以 /GL 編譯模組 'module' 中定義的符號 'symbol' 參考

備註

在程式碼產生期間,編譯器不應該引進稍後解析為編譯 /GL 定義的符號。 symbol 是引進的符號,稍後會解析為使用 /GL 編譯的定義。

如需詳細資訊,請參閱 /GL (神秘le 程式優化)。

若要解析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) {}