이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...
MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다.
GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'
GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits'
이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다.
먼저, GdiplusStringFormat.h 에서 (242~243 라인 부근) StringTrimming StringFormat::GetTrimming() const 형을 StringTrimming GetTrimming() const 로 바꿔 줍니다.
StringTrimming GetTrimming() const // StringTrimming StringFormat::GetTrimming() const { StringTrimming trimming; SetStatus(DllExports::GdipGetStringFormatTrimming( nativeFormat, &trimming )); return trimming; }
위 처럼 주석으로 막던, 직접 지우던, GetTrimming() const 가 StringFormat class 에 포함되지 않으면 됩니다.
다음은 GdiplusMetafile.h 에서 350번 라인 근처의 static UINT Metafile::EmfToWmfBits 형을 static UINT EmfToWmfBits 으로 바꿉니다.
아래 처럼 되겠네요.
static UINT EmfToWmfBits( //static UINT Metafile::EmfToWmfBits( IN HENHMETAFILE hemf, IN UINT cbData16, IN LPBYTE pData16, IN INT iMapMode = MM_ANISOTROPIC, IN EmfToWmfBitsFlags eFlags = EmfToWmfBitsFlagsDefault )
이제 컴파일 하면 문제 없이 사용할 수 있을것으로 보입니다.
혹시 해서 수정된 GDI+ header 를 zip 파일로 첨부 합니다.
필요 하신 분들은 도움이 되면 좋겠습니다.