最近我尝试了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
中。那么,我应该链接到哪个静态库?
wingdi.h
中声明的大多数功能都需要链接到gdi32.lib
。
例如,ExtCreateRegion
为documented here,并且该页面底部的详细信息包括:
Header:wingdi.h(包括Windows.h)
库:Gdi32.lib
DLL:Gdi32.dll
我应该链接哪个静态库?
gdi32.lib
不是static库,而是一个引用了gdi32.dll
的import库,该库将在运行时加载并包含实际功能。