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

首先去官网(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)
北岛夜话



发表评论