Visual C++ "Gdiplus::GdiplusBase::operator new 함수는 3개의 매개 변수를 사용하지 않습니다" 에러 해결

[컴파일 에러 문제]
Gdiplus::GdiplusBase::operator new' : 함수는 3개의 매개 변수를 사용하지 않습니다.
// GDIPLUS 컴파일 시 위와 같은 메시지로 컴파일 되지 않는다면 아래와 같이 해결하자

[해결 방법 / 참고 : http://support.microsoft.com/kb/317799 ]
////////////////////////////////////////////////////////////////////////////////////////////////////
//// Ensure that GdiPlus header files work properly with MFC DEBUG_NEW and STL header files.
#define iterator _iterator
#ifdef _DEBUG
namespace Gdiplus
{
 namespace DllExports
 {
  #include <GdiplusMem.h>
 };

 #ifndef _GDIPLUSBASE_H
 #define _GDIPLUSBASE_H
 class GdiplusBase
 {
  public:
   void (operator delete)(void* in_pVoid)
   {
    DllExports::GdipFree(in_pVoid);
   }
   void* (operator new)(size_t in_size)
   {
    return DllExports::GdipAlloc(in_size);
   }
   void (operator delete[])(void* in_pVoid)
   {
    DllExports::GdipFree(in_pVoid);
   }
   void* (operator new[])(size_t in_size)
   {
    return DllExports::GdipAlloc(in_size);
   }
   void * (operator new)(size_t nSize, LPCSTR lpszFileName, int nLine)
   {
    return DllExports::GdipAlloc(nSize);
   }
   void operator delete(void* p, LPCSTR lpszFileName, int nLine)
   {
    DllExports::GdipFree(p);
   }
  };
 #endif // #ifndef _GDIPLUSBASE_H
}
#endif // #ifdef _DEBUG


#include <gdiplus.h>
#undef iterator
//// Ensure that Gdiplus.lib is linked.
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;

comments:

댓글 쓰기