使用wingdi.h时应该链接哪个静态库?

Soh*_*oha 1 c++ fltk

最近我尝试了FLTK。编译源代码后,我想使用 FLTK 创建一个小型应用程序。

代码

然而,在我尝试编译之后,g++ 说:

C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x298): 对“__imp_ExtCreateRegion”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x2c4): 对“__imp_CombineRgn”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x2d4): 对“__imp_DeleteObject”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x351): 对“__imp_ExtCreateRegion”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x37d): 对“__imp_CombineRgn”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(Fl_Window_shape.cxx.obj):Fl_Window_shape.cxx:(.text+0x38d): 对“__imp_DeleteObject”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(fl_color.cxx.obj):fl_color.cxx:(.text+0x65): 对“__imp_DeleteObject”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(fl_color.cxx.obj):fl_color.cxx:(.text+0x9f): 对“__imp_CreatePen”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(fl_color.cxx.obj):fl_color.cxx:(.text+0xc3): 对“__imp_SelectObject”的未定义引用
C:\Program Files (x86)\FLTK\lib/libfltk.a(fl_color.cxx.obj):fl_color.cxx:(.text+0x102): 对“__imp_SelectObject”的未定义引用

还有更多。我发现这个ExtCreateRegion和其他提到的功能都在windgi.h. 那么,我应该链接到哪个静态库?

dxi*_*xiv 5

中声明的大多数函数都wingdi.h需要链接到gdi32.lib.

例如,在此处记录ExtCreateRegion,该页面底部的详细信息包括:

  • 头文件:wingdi.h(包括Windows.h)

  • 库:Gdi32.lib

  • DLL:Gdi32.dll

我应该链接哪个静态库?

gdi32.lib不是静态库,而是引用的导入gdi32.dll,它将在运行时加载并包含实际函数。