FLTK-从源代码编译FLTK
FLTK 是一个跨平台的 C++ 图形界面工具包,适用于Linux/Windows/macOS。提供了现代化的图形用户界面功能。FLTK设计得足够小巧且模块化,可以静态链接和动态链接。
FLTK网站:Fast Light Toolkit - Fast Light Toolkit (FLTK)
编译依赖库:
FLTK没有必需依赖库,完全可以独立编译。
PKG:pkg-config,Linux包管理工具,Windows不需要
DOXYGEN:文档生成工具,除非需要生成FLTK文档,否则不需要提供
FREETYPE:可选
JPEG/PNG/ZLIB:可选,因为源代码中是自带的,不使用外部库则会使用自带的库。
Cmake编译选项:
FLTK大部分默认选项是不需要更改的。
CMAKE_INSTALL_PREFIX设置为预期安装的路径。
建议取消勾选OPTION_USE_SYSTEM_LIBJPEG,OPTION_USE_SYSTEM_LIBPNG,OPTION_USE_SYSTEM_ZLIB,这样FLTK将使用自带的jpeg/png/zlib代码生成对应的库,也就是会额外出现fltk_forms.lib/fltk_jpeg.lib/fltk_png.lib/fltk_z.lib,当编译其他软件时,FLTK将引用自己的库,所以需要在链接时把这几个库也加入链接。
建议取消勾选OPTION_BUILD_SHARED_LIBS,尽量不使用fltk作为动态库链接。
编译完成:
编译完成后可以在安装目录下可以看到如下文件夹:
bin,CMake,include,lib。
Windows编译:
打开CMake-GUI,点击Configure,出现FLTK的配置窗口,自行根据需求配置:
点击Generate,生成。
点击Open Project,打开Visual Studio的代码界面,生成->全部重新生成。
所有项目生成成功后,在解决方案资源管理器中,选择INSTALL项目,右键选择生成,即在指定的CMAKE_INSTALL_PREFIX目录安装了fltk。
fltk1.3.9中,如果报错winnt.h-6497行,注释掉,该段程序针对ARM平台,反正也不需要。
当在CMake中勾选了OPTION_BUILD_SHARED_LIBS时,在vs编译过程中会出现如下报错:
“错误 LNK1181 无法打开输入文件“..\lib\Release\libfltk_z.lib” fltk_png_SHARED F:\Temp\Gmsh\bin\fltk\png\LINK 1”
是因为默认的配置中前面加了“lib”关键字,解决方案有两种,一是需要在对应的几个后缀名为“XXX_SHARED”的项目中,点开对应属性页,在“配置属性-链接器-附加依赖项”中,对应的“..\lib\Release\lib****.lib”字段,删除前面的lib关键字,二则是在生成静态库的几个项目中,在“配置属性-常规-目标文件名”前面加上lib关键字。
Linux编译:
无异常情况。

浙公网安备 33010602011771号