1、qt带的mingw添加到环境变量:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

2、下载fltk源码,略。

3、解压源码后进入目录,命令行执行:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

4、执行:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

5、将FL、lib这两个文件夹添加到qt工程:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

LIBS += -L$$PWD/lib -lfltk
LIBS += -L$$PWD/lib -lfltk_forms
LIBS += -L$$PWD/lib -lfltk_gl
LIBS += -L$$PWD/lib -lfltk_images
LIBS += -L$$PWD/lib -lfltk_jpeg
LIBS += -L$$PWD/lib -lfltk_png
LIBS += -L$$PWD/lib -lfltk_z

INCLUDEPATH += $$PWD/''
DEPENDPATH += $$PWD/''

6、测试代码:

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Box.H>

void buttonCallback(Fl_Widget* widget, void*)
{
    Fl_Button* button = dynamic_cast<Fl_Button*>(widget);
    button->label("Click20002333ed!");
}

int main(int argc, char **argv)
{
    Fl_Window *window = new Fl_Window(340,180,"FLTK Window");
    Fl_Button *button = new Fl_Button(10,10,120,25,"Clic666333k Me");
    button->callback(buttonCallback);

    window->end();
    window->show(argc, argv);

    return Fl::run();
}

如果这时候运行会报错:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

因为FLTK引用了Windows中的一些库,这些库也要加上,完整的配置:

LIBS += -L$$PWD/lib -lfltk
LIBS += -L$$PWD/lib -lfltk_forms
LIBS += -L$$PWD/lib -lfltk_gl
LIBS += -L$$PWD/lib -lfltk_images
LIBS += -L$$PWD/lib -lfltk_jpeg
LIBS += -L$$PWD/lib -lfltk_png
LIBS += -L$$PWD/lib -lfltk_z

INCLUDEPATH += $$PWD/''
DEPENDPATH += $$PWD/''

LIBS += -lGdiPlus       #GDI+图形库,用于处理图形和图像相关的操作
LIBS += -lGdi32         #GDI(图形设备接口)库,用于绘制和处理Windows图形
LIBS += -lOle32         #OLE(对象链接和嵌入)库,用于支持对象之间的链接和嵌入
LIBS += -lWs2_32        #Winsock (Windows Socket) 库
LIBS += -lcomdlg32      #通用对话框库
LIBS += -luuid          #UUID 库
LIBS += -lcomctl32      #Windows公共控件库,用于创建和管理常见的用户界面控件

成功运行:

在Windows系统用mingw编译FLTK,并在qt creator运行测试代码-LMLPHP

02-02 13:20