リンカ ツール エラー LNK1237
コード生成中に、コンパイラが /GL でコンパイルされたモジュール 'module' で定義されたシンボル 'symbol' への参照を導入しました
解説
コードの生成中、コンパイラは後でコンパイルされた /GL
定義に解決されるシンボルを導入しないでください。 symbol
は、導入され、後で使用 /GL
してコンパイルされた定義に解決されたシンボルです。
詳細については、「(プログラム全体の最適化)」を参照してください。/GL
LNK1237を解決するには、シンボルのコンパイルに使用/GL
したり、(シンボル参照の強制) を使用/INCLUDE
してシンボルへの参照を強制したりしないでください。
例
次の例では LNK1237 が生成されます。 このエラーを解決するには、配列 LNK1237_a.cpp
を初期化して link コマンドに追加 /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) {}