링커 도구 오류 LNK1237
코드를 생성하는 동안 컴파일러는 /GL로 컴파일된 모듈 'module'에 정의된 기호 'symbol'에 대한 참조를 도입했습니다.
설명
코드를 생성하는 동안 컴파일러는 나중에 컴파일된 /GL
정의로 확인되는 기호를 도입해서는 안 됩니다. symbol
는 을 사용하여 /GL
컴파일된 정의에 도입되고 나중에 확인된 기호입니다.
자세한 내용은 (전체 프로그램 최적화)를 참조 /GL
하세요.
LNK1237 해결하려면 기호를 컴파일하거나 기호에 대한 참조를 강제로 적용하는 데(기호 참조 강제 적용)를 사용하지/INCLUDE
/GL
마세요.
예시
다음 샘플에서는 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) {}