컴파일 에러는 너무나 사람을 지치게 한다. 기껏 코딩해 놨더니 왜 컴파일이 안돼...
이번에 나온 오류는
error C2220: warning treated as error - no 'object' file generated 요놈이다.
MSDN 참고 링크
https://msdn.microsoft.com/ko-kr/library/ksk5k0ta(v=vs.120).aspx
컴파일러 오류 C2220
해결하려면, 다음 방법 중 하나를 사용합니다
프로젝트에서 경고를 발생 시키는 문제를 해결 합니다.
낮은 경고 수준에서 컴파일합니다 — 예를 들어 /W3 를 사용합니다 (/W4대신).
경고 pragma를 사용하여 사용 안 함 또는 특정 경고를 표시 합니다.
컴파일 하기 위해 /WX 사용하지 않습니다.
MSDN 왈 이렇다고 한다.
그니깐 warning을 error로 취급하고 있다는 것.
해결방안은 두 가지가 있다.
1. 뭔지도 모르지만 그냥 warning을 무시.
프로젝트 우클릭 후 Properties에 들어가자.
Project Settings - Configuration Properties - C/C++ - General - Treat Warnings as Errors 항목이
ALL로 되어 있다면 No로 바꾼다.
해결.
2. warning 이 왜 뜨는지 확인하고 이를 해결.
이 때 확인해야할 부분은 어떤 warning이 error로 취급받고 있냐는 것이다.
output이나 error list에서 warning부분을 살펴보면 발견할 수 있다.
본인의 에러는 아래와 같았다.
warning C4819: The file contains a character that cannot be represented in the current code page (949). Save the file in Unicode format to prevent data loss
인코딩에러....라는 뜻이다.
해당 파일의 인코딩을 unicode - codepage 1200로 바꿔주면 문제해결.
visual studio에서 인코딩을 바꾸려면 FILE-Advanced save option 를 클릭하면 원하는 인코딩을 선택할 수 있다.
혹은
#pragma warning ( disable : warning번호)
를 헤더파일에 입력해 주면 된다. 본인의 경우 #pragma warning ( disable : 4819)
'개발 > C and C++' 카테고리의 다른 글
error LNK2019 발생 (0) | 2016.06.16 |
---|---|
C/C++ 에서 clock() 함수를 이용하여 수행시간 측정하기 (0) | 2016.06.16 |