출처: http://alexjeon1227.tistory.com/21
win32 프로젝트 환경에서(MFC 미사용) Gdi+ 사용하려고
#include <Gdiplus.h> 넣고
#pragma comment(lib, "gdiplus.lib") 라이브러리 링크걸고..
근데 이런..엄청난 에러들이..
>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(79): error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(79): error C2440: '초기화 중' : 'const char [37]'에서 'int'(으)로 변환할 수 없습니다.
1> 이 변환이 가능한 컨텍스트가 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(79): error C2146: 구문 오류 : ';'이(가) 'IImageBytes' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(79): error C2143: 구문 오류 : ';'이(가) ':' 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(79): error C2059: 구문 오류 : 'public'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(80): error C2143: 구문 오류 : ';'이(가) '{' 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(80): error C2447: '{' : 함수 헤더가 없습니다. 이전 스타일의 형식 목록입니까?
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(285): error C2146: 구문 오류 : ';'이(가) 'id' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusImaging.h(285): error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(390): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(401): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(411): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(449): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(450): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(451): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(459): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(477): error C2535: 'Gdiplus::Image::Image(void)' : 멤버 함수를 이미 정의했거나 선언했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(390) : 'Gdiplus::Image::Image' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(512): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(523): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(767): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(822): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(822): error C2535: 'Gdiplus::Metafile::Metafile(void)' : 멤버 함수를 이미 정의했거나 선언했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(767) : 'Gdiplus::Metafile::Metafile' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(829): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(829): error C2535: 'Gdiplus::Metafile::Metafile(void)' : 멤버 함수를 이미 정의했거나 선언했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(767) : 'Gdiplus::Metafile::Metafile' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(838): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(838): error C2535: 'Gdiplus::Metafile::Metafile(void)' : 멤버 함수를 이미 정의했거나 선언했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(767) : 'Gdiplus::Metafile::Metafile' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(864): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(932): error C2535: 'Gdiplus::Metafile::Metafile(void)' : 멤버 함수를 이미 정의했거나 선언했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusHeaders.h(767) : 'Gdiplus::Metafile::Metafile' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1145): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1145): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1145): error C2065: 'image' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1145): error C2275: 'Gdiplus::GpImage' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusGpStubs.h(66) : 'Gdiplus::GpImage' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1145): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1151): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1151): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1151): error C2065: 'image' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1151): error C2275: 'Gdiplus::GpImage' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusGpStubs.h(66) : 'Gdiplus::GpImage' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1151): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1168): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1256): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1259): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1262): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1274): error C2061: 구문 오류 : 식별자 'PROPID'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1298): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1298): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1298): error C2065: 'bitmap' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1298): error C2275: 'Gdiplus::GpBitmap' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusGpStubs.h(67) : 'Gdiplus::GpBitmap' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1298): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1304): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1304): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1304): error C2065: 'bitmap' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1304): error C2275: 'Gdiplus::GpBitmap' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusGpStubs.h(67) : 'Gdiplus::GpBitmap' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(1304): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2235): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2235): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2237): error C2065: 'header' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2237): error C2275: 'Gdiplus::MetafileHeader' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetaHeader.h(117) : 'Gdiplus::MetafileHeader' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2237): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2255): error C2061: 구문 오류 : 식별자 'IStream'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2275): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2275): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2275): error C2065: 'metafile' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2275): error C2275: 'Gdiplus::GpMetafile' : 이 형식을 식으로 잘못 사용했습니다.
1> c:\program files (x86)\windows kits\8.1\include\um\GdiplusGpStubs.h(68) : 'Gdiplus::GpMetafile' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2275): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2322): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2322): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2323): error C2275: 'HDC' : 이 형식을 식으로 잘못 사용했습니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2323): error C2146: 구문 오류 : ')'이(가) 'referenceHdc' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2323): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2329): error C2059: 구문 오류 : ')'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2333): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2333): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2334): error C2275: 'HDC' : 이 형식을 식으로 잘못 사용했습니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2334): error C2146: 구문 오류 : ')'이(가) 'referenceHdc' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2334): warning C4229: 오래된 구문을 사용했습니다 : 데이터의 한정자가 무시됩니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusFlat.h(2340): error C2059: 구문 오류 : ')'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusPath.h(138): error C2061: 구문 오류 : 식별자 'byte'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(80): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(80): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(81): error C2448: 'Gdiplus::Metafile::{ctor}' : 함수 스타일 이니셜라이저가 함수 정의처럼 나타납니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(199): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(199): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(200): error C2275: 'HDC' : 이 형식을 식으로 잘못 사용했습니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(200): error C2146: 구문 오류 : ')'이(가) 'referenceHdc' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(200): error C2761: '{ctor}' : 멤버 함수를 재선언할 수 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(203): error C2059: 구문 오류 : ')'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(204): error C2143: 구문 오류 : ';'이(가) '{' 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(204): error C2447: '{' : 함수 헤더가 없습니다. 이전 스타일의 형식 목록입니까?
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(216): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(216): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(217): error C2275: 'HDC' : 이 형식을 식으로 잘못 사용했습니다.
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\windef.h(80) : 'HDC' 선언을 참조하십시오.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(217): error C2146: 구문 오류 : ')'이(가) 'referenceHdc' 식별자 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(217): error C2761: '{ctor}' : 멤버 함수를 재선언할 수 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(222): error C2059: 구문 오류 : ')'
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(223): error C2143: 구문 오류 : ';'이(가) '{' 앞에 없습니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(223): error C2447: '{' : 함수 헤더가 없습니다. 이전 스타일의 형식 목록입니까?
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(235): error C2065: 'IStream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(235): error C2065: 'stream' : 선언되지 않은 식별자입니다.
1>c:\program files (x86)\windows kits\8.1\include\um\GdiplusMetafile.h(236): error C2275: 'HDC' : 이 형식을 식으로 잘못 사용했습니다.
조냉 멘붕상태와...
아 MFC 환경에서 작업해야 하나를 고민하고...검색을 시도..역시 답은 있었음
아래는 발취한 내용임..
MFC를 사용하지 않는 환경에서는 stdafx.h 에서 windows.h 를 포함시키는데 이런 식으로 한다.
1 2 | #define WIN32_LEAN_AND_MEAN #include <windows.h> |
WIN32_LEAN_AND_MEAN 를 정의하고 나서 windows.h 를 포함시키면 아래와 같은 내용이 빠지게 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <cderr.h> #include <dde.h> #include <ddeml.h> #include <dlgs.h> #include <lzexpand.h> #include <mmsystem.h> #include <nb30.h> #include <rpc.h> #include <shellapi.h> #include <winperf.h> #include <winsock.h> #include <wincrypt.h> #include <winefs.h> #include <winscard.h> #include <winspool.h> #include <ole2.h> #include <commdlg.h> |
1 2 3 4 | #include <ole2.h> #include <GdiPlus.h> using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib") |
즉 ole2.h 파일을 include 하면 끝~
저런분들의 포스팅이 없었다면 무한 삽질과..그냥 MFC 환경에서 작업했을듯..ㅠㅠ
정보공유를 감사드립니다.
--- 정보는 공유되어야 한다 쭈욱~
'Study > MFC' 카테고리의 다른 글
대소문자 구분된 파일명을 가져오기 #대소문자 #파일명 (0) | 2019.01.29 |
---|---|
ComboBox ReadOnly 처리(DropDwon). 수정불가, edit 불가 (0) | 2017.03.26 |
Mac Address 및 IP 주소 가져오기(#Mac, #IP, #MacAddress) (3) | 2016.01.29 |
SubClassing 사용시 동적으로 할당한 컨트롤 SubclassDlgItem Assert문제 (0) | 2015.12.28 |
CTreeCtrl 모든 노드 펼치기 Expand all items (0) | 2015.12.24 |
댓글