[에러 메세지]

Error LNK1104 cannot open file 'kernel32.lib'


[해결 방안]

1. C:\Program Files에서 kernel32.lib 파일 검색 -> 파일 위치 확인

 -> C:\Program Files\Windows Kits\8.1\Lib\winv6.3\um\x86


2.

[32비트 윈도우]

프로젝트 속성 -> VC++ 디렉터리 -> 라이브러리 디렉터리 -> C:\Program Files\Windows Kits\8.1\Lib\winv6.3\um\x86 추가


[64비트 윈도우]

프로젝트 속성 -> VC++ 디렉터리 -> 라이브러리 디렉터리 -> C:\Program Files\Windows Kits\8.1\Lib\winv6.3\um\x64 추가


[에러 메세지]

Error RC1015 cannot open include file 'winres.h'


[해결 방안]

개발툴과 Windows SDK의 버전 별 설치가 달라서 VC++ 디렉터리의 path가 잘못되어 있어서 생기는 에러로 V++ 포함 디렉터리를 수정한다.

1. 먼저 winres.h의 파일 위치를 확인한다.

 C:\Program Files에서 winres.h 파일 검색 -> 파일 위치 확인

-> C:\Program Files\Windows Kits\8.1\Include\um

2. 프로젝트 속성 -> VC++ 디렉터리 -> 포함 디렉터리 -> C:\Program Files\Windows Kits\8.1\Include\um 추가

[에러 메세지]

Error MSB6006 "rc.exe" exited with code 5


[해결 방안]

프로젝트 속성 -> VC++ 디렉터리 -> 실행 가능한 디렉터리 -> C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin 추가


[참고]

포함 라이브러리에 C:\Program Files\Microsoft SDKs\Windows\v7.0A\lib 추가 시에 에러 나옴



[에러 메세지]

Error C1083 Cannot open include file: 'SDKDDKVer.h': No such file or directory


[해결 방안]

개발툴과 Windows SDK의 버전 별 설치가 달라서 VC++ 디렉터리의 path가 잘못되어 있어서 생기는 에러로 V++ 포함 디렉터리를 수정한다.

1. 먼저 SDKDDKVer.h의 파일 위치를 확인한다.

 C:\Program Files\Microsoft SDKs\Windows 에서 SDKDDKVer.h 파일 검색 -> 파일 위치 확인

-> C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include

2. 프로젝트 속성 -> VC++ 디렉터리 -> 포함 디렉터리 -> C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include 추가

[ 에러 메세지 ]

#error: MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header. 


[ 해결 방안 ]

StdAfx.h 파일의 WINVER 정의 값을 수정한다.

#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.

#define WINVER 0x0500 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.

#define WINVER 0x0601

#endif


[ WINVER 값 참고 ]

 Windows 운영체제

 WINVER 값

  Windows XP

0x501

Windows Vista

0x600

  Windows 7

0x601

  Windows 10

 0xA00 


Visual Studio 2012 프로젝트 2010으로 포팅 시에 다음과 같은 오류가 발생하였다.

error MSB8008: 지정된 플랫폼 도구 집합(v110)이 설치되지 않았거나 올바르지 않습니다. 지원되는 플랫폼 도구 집합 값이 선택되었는지 확인하십시오.


해결 방법은 프로젝트 속성 -> 일반 -> 플랫폼 도구 집합 -> v110 을 v100으로 수정 -> 적용


Visual Studio 2005 - V8.0

Visual Studio 2008 - V9.0

Visual Studio 2010 - V10.0


Visual Studio 2012 - V11.0




참조 : http://peepleware.com/home/?document_srl=38740&mid=Tips_dev_etc&rnd=273676#comment_273676

'IDD_EXPRESS_IMG_DIALOG' : 선언되지 않은 식별자입니다.

'IDD_R7EOLVS2010_DIALOG' : 선언되지 않은 식별자입니다.

새로운 클래스에서 다이얼로그 헤더 파일을 include하고 빌드할 때 생기는 에러

IDD의 다이얼로그 값은 resource.h 에 정의되어 있어서 #include "resource.h" 추가하여 문제 해결


1. Alt + F7 (속성 페이지)

2. 링커 - 일반 - 증분 링크 사용 : 아니요 로 설정

원인은 이미 생성 된 폰트를 다시 생성 시(CreateFontIndirect) 생기는 에러로, 폰트가 생성 되어 있는 경우에 삭제하는 로직을 추가 출처 : http://m.blog.naver.com/hosup123/150181404998

+ Recent posts