我在 VC 中想使用 GDI+ 提供的函数打开图片,代码如下:#define UNICODE
#include <gdiplus.h>
using namespace Gdiplus;Image* image = Image::FromFile(L"1.jpg");但却提示有6个无法解析的内部错误,如下:ImageTransform error LNK2019: 无法解析的外部符号 _GdipAlloc@4 ,该符号在函数 "public: static void * __cdecl Gdiplus::GdiplusBase::operator new(unsigned int)" (??2GdiplusBase@Gdiplus@@SAPAXI@Z) 中被引用ImageTransform error LNK2019: 无法解析的外部符号 _GdipCloneImage@8 ,该符号在函数 "public: virtual class Gdiplus::Image * __thiscall Gdiplus::Image::Clone(void)" (?Clone@Image@Gdiplus@@UAEPAV12@XZ) 中被引用ImageTransform error LNK2019: 无法解析的外部符号 _GdipDisposeImage@4 ,该符号在函数 "public: virtual __thiscall Gdiplus::Image::~Image(void)" (??1Image@Gdiplus@@UAE@XZ) 中被引用ImageTransform error LNK2019: 无法解析的外部符号 _GdipFree@4 ,该符号在函数 "public: static void __cdecl Gdiplus::GdiplusBase::operator delete(void *)" (??3GdiplusBase@Gdiplus@@SAXPAX@Z) 中被引用ImageTransform error LNK2019: 无法解析的外部符号 _GdipLoadImageFromFile@8 ,该符号在函数 "public: __thiscall Gdiplus::Image::Image(wchar_t const *,int)" (??0Image@Gdiplus@@QAE@PB_WH@Z) 中被引用ImageTransform error LNK2019: 无法解析的外部符号 _GdipLoadImageFromFileICM@8 ,该符号在函数 "public: __thiscall Gdiplus::Image::Image(wchar_t const *,int)" (??0Image@Gdiplus@@QAE@PB_WH@Z) 中被引用怎么能解决这个问题呢?麻烦您指点。

解决方案 »

  1.   

    没有设置 lib ,
    #pragama lib...
      

  2.   

    在文件头部加上一个
    #pragma once
    看看
      

  3.   

    建立一个MFC工程,将以下代码放到stdafx.h中#pragma comment(lib, "gdiplus.lib")  //注意,要保证vc路径的lib中,能够找到这个文件
    #define ULONG_PTR ULONG
    #include <gdiplus.h>
    using namespace Gdiplus;然后增加app类中的变量:   GdiplusStartupInput m_gdiplusStartupInput;
       ULONG_PTR m_pGdiToken;在InitInstance函数中,增加代码 GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);增加ExitInstance函数中,增加以下代码 GdiplusShutdown(m_pGdiToken);
      

  4.   

    缺少链接库文件件。
    在#include <gdiplus.h>前再加一个
    #pragma comment(lib, "gdiplus.lib")