컴파일러 경고(수준 1) C4744
'var'의 형식이 'file1'과(와) 'file2'에서 서로 다릅니다('type1' - 'type2').
두 파일에서 참조되거나 정의된 외부 변수는 해당 파일에 서로 다른 형식을 가합니다. 해결하려면 형식 정의를 동일하게 만들거나 파일 중 하나에서 변수 이름을 변경합니다.
C4744는 /GL을 사용하여 파일을 컴파일할 때만 내보내집니다. 자세한 내용은 /GL(전체 프로그램 최적화)을 참조하세요.
참고 항목
C4744는 C++에서 변수 이름이 형식 정보로 데코레이팅되기 때문에 일반적으로 C(C++가 아님) 파일에서 발생합니다. 샘플(아래)이 C++로 컴파일되면 링커 오류 LNK2019.
예제
이 샘플에는 첫 번째 정의가 포함되어 있습니다.
// C4744.c
// compile with: /c /GL
int global;
다음 샘플에서는 C4744를 생성합니다.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}