北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章570 浏览9851044

跨平台编译图形库FLTK(Windows下使用MinGW-w64)

FLTK是基于C++语言开发的高效图形界面库,今天这篇文章,记录下如何在Windows下使用MinGW-W64来编译FLTK的源代码,生成相应的库文件。另外也对Ubuntu系统下的编译方法进行介绍。

cover.png

首先去官网(www.fltk.org)下载最新的版本。以目前最新的1.4.4版本为例,下载“fltk-1.4.4-source.tar.bz2”到本地文件夹。

对压缩包进行解压:

方法①:使用7-Zip解压到“fltk-1.4.4-source.tar”,然后在命令行输入“tar -xvf fltk-1.4.4-source.tar”;

方法②:如果已经安装了“Git for Windows ”或MSYS2或GnuWin32的bzip2,在命令行中直接使用命令“tar -xjvf fltk-1.4.4-source.tar.bz2”解压;

解压完成后,在目录中新建两个文件夹“_build”和“_install”。

进入“_build”文件夹,启动命令行,输入以下内容:

cmake  .. -DCMAKE_BUILD_TYPE=Release  -DFLTK_BUILD_SHARED_LIBS=ON -DFLTK_BUILD_EXAMPLES=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_USE_WINDOWS=ON -DFLTK_USE_PANGO=ON  -G "MinGW Makefiles"

其中:

①.. 表示CMakeLists.txt位于上级目录;

CMAKE_BUILD_TYPE=Release:表示编译成发行版本,这样不包含调试信息,体积会变小;

FLTK_BUILD_SHARED_LIBS=ON:表示打开共享库的开关,编译结果会包括动态库;

FLTK_BUILD_EXAMPLES=OFF:表示不构建例程;

FLTK_BUILD_TEST=OFF:表示不构建测试程序;

FLTK_USE_WINDOWS=ON:表示使用Windows原生API(Windows下建议开启);

FLTK_USE_PANGO=ON:Pango是跨平台的文本布局和渲染引擎,专门用于处理国际文本。在Ubuntu下中文可能显示乱码,打开此开关能让FLTK支持中文显示;

⑧-G "MinGW Makefiles"  :表示使用MinGW作为编译器(..表示CMakeLists.txt位于上级目录);

上述选项根据操作系统及编译目的进行删减,比如在Ubuntu下就不需要使用-G "MinGW Makefiles"

配置完成后,输入命令make -j8编译源文件

编译完成后,输入命令:

cmake --install .  --prefix “../_install”

会将编译生成的头文件、动态库等内容写到_install目录中。

我在Ubuntu下编译时提示找不到文件<GL/gl.h>

这是因为:FLTK启用了OpenGL,但系统里没有OpenGL的头文件,Ubuntu默认不安装OpenGL的开发包。

解决方法:

安装包:

sudo apt-get update

sudo apt-get install libgl1-mesa-dev  libglu1-mesa-dev

Ubuntu下FLTK可能还需要的其它支持包:

sudo apt-get install libxft-dev \

libx11-dev \

libxext-dev \

libxfixes-dev \

libxrender-dev \

libpango1.0-dev

其中:

①libxft-dev  是 X FreeType 字体渲染(FLTK 常用)

②libx11-dev  是 X11 核心库

③libxext-dev 是 X11 扩展

④libxfixes-dev 是 XFixes 扩展

⑤libxrender-dev 是 Render 扩展

⑥libpango1.0-dev 是 Pango 文本渲染(启用了 -DFLTK_USE_PANGO=on)


取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

最后编辑于:2026/04/12作者: 北岛李工

发表评论

恭祝各位朋友在丙午马年新春快乐,工作顺利,阖家安康!

×