본문 바로가기
개발/Visual C++

atlcom.h(431) : error C2146 해결 방법

by belitino 2017. 11. 11.

출처: https://social.msdn.microsoft.com/Forums/vstudio/en-US/ba315aa1-5a6a-4e84-9bbc-008503e3a77e/getting-the-following-error?forum=vcgeneral

http://kngom.tistory.com/entry/%EC%97%90%EB%9F%AC%EB%85%B8%ED%8A%B8

 

Visual Studio 2008 SP1을 설치하고 컴파일을 하는데 다음과 같은 오류가 나오는 경우가 있습니다.

 

C:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h(431) : error C2146: syntax error : missing ';' before identifier 'rgclsidAllowed'

C:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h(431) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

C:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h(431) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

...

 

제 경우에는 출처에서 나와있는 VS20098 SP1 ATL Security Update(https://www.microsoft.com/ko-kr/download/details.aspx?id=15303)를 설치해주니 문제가 해결되었습니다.

 

좀 더 찾아보니 http://kngom.tistory.com/entry/%EC%97%90%EB%9F%AC%EB%85%B8%ED%8A%B8에는 원인도 분석이 되어 있군요.