vc.net
我的程序中要用到GDI+,需要在工程中加入GDIplus.lib库文件,但我在 项目\属性\链接器\ 中好几个地方加入都没用。一直出现链接错误,源码没错,直接重CSDN上copy下来的;我想在vc6中使用GDI+
把\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK 复制过来,并在options\directories做了相关设置,并在prject\setting\link中加入GDIplus.lib,结果出现一打编译错误,为什么呢?我用的是win2000;谢谢!

解决方案 »

  1.   


    vc6 用 gdi+,这个不可能把, gdi+ 是托管的加入 lib,就是 在 工作区选中 那个工程文件后,右键,你就知道了其实仔细多点点,看看,就找到了,操作一般都不难
      

  2.   

    谢谢,vs.net中可以了
    BCB5都可以用,我想vc6也应该可以吧。
    http://dev.csdn.net/develop/article/19/19517.shtm
      

  3.   

    vc6中可以用,下个gdi+ 的sdk,很简单
      

  4.   

    把对应的h文件和lib文件包含进project中,看能否可以
      

  5.   

    #pragma comment(lib,"lib文件名")
      

  6.   

    VC6当然可以用GDI+,你出现了什么错误?说一下错误代号.
      

  7.   

    --------------------Configuration: GDITest - Win32 Debug--------------------
    Compiling...
    WinMain.cpp
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(32) : error C2065: 'ULONG_PTR' : undeclared identifier
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(32) : error C2065: 'token' : undeclared identifier
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(32) : error C2165: 'left-side modifier' : cannot modify pointers to data
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(32) : error C2071: 'NotificationHookProc' : illegal storage class
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(33) : error C2146: syntax error : missing ')' before identifier 'token'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(33) : error C2165: 'left-side modifier' : cannot modify pointers to data
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(33) : error C2071: 'NotificationUnhookProc' : illegal storage class
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(33) : error C2059: syntax error : ')'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(86) : error C2059: syntax error : 'const'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(95) : error C2146: syntax error : missing ')' before identifier 'token'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(95) : warning C4229: anachronism used : modifiers on data are ignored
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(95) : error C2182: 'GdiplusShutdown' : illegal use of type 'void'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusinit.h(95) : error C2059: syntax error : ')'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2639) : warning C4229: anachronism used : modifiers on data are ignored
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2639) : error C2440: 'initializing' : cannot convert from 'int' to 'enum Gdiplus::Status'
            Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast)
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2644) : error C2146: syntax error : missing ')' before identifier 'token'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2644) : warning C4229: anachronism used : modifiers on data are ignored
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2644) : error C2182: 'GdiplusNotificationUnhook' : illegal use of type 'void'
    d:\program files\microsoft visual studio\vc98\platformsdk2003\include\gdiplusflat.h(2644) : error C2059: syntax error : ')'
    e:\my documents\vc6\win32sdk\gditest\winmain.cpp(21) : error C2146: syntax error : missing ';' before identifier 'gdiplusToken'
    e:\my documents\vc6\win32sdk\gditest\winmain.cpp(21) : error C2065: 'gdiplusToken' : undeclared identifier
    e:\my documents\vc6\win32sdk\gditest\winmain.cpp(24) : error C2065: 'GdiplusStartup' : undeclared identifier
    Error executing cl.exe.GDITest.exe - 19 error(s), 3 warning(s)
      

  8.   

    源文件是从MSDN上复制下来的,platformsdk2003文件夹是从vs.net2003\platformsdk 考过来的,Link中也加入了gdiplus.lib
      

  9.   

    问题找到了,我是把\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK 这个目录复制到vc6下来用的,而在vc7提供的几个头文件中有
     #define ULONG_PTR DWORDvc6提供的头文件却没定义,只需加上这句就ok同样谢谢大家帮助!