FLTK从源码编译到使用
FLTK:Fast Light Toolkit
FLTK 是一个跨平台的 C++ GUI 工具包,适用于 UNIX®/Linux®(X11 和 Wayland)、Microsoft® Windows® 以及 macOS®。FLTK 提供了现代的图形用户界面功能,但没有冗余代码,它还通过 OpenGL® 及其内置的 GLUT 兼容层支持 3D 图形。
FLTK 的设计小巧而模块化,足以被静态链接,但也完全可以作为共享库使用。FLTK 还包含一个出色的用户界面构建工具,名为 FLUID,可以用于在几分钟内创建应用程序。
环境:
- windwos 11
- gcc 10.3.0 (tdm64-1)
- cmake-gui
一、下载源码
可以从官网或github下载
目录结构
fltk-1.4.3
CMakeLists.txt //cmake文件
FL //头文件
png //头文件
zlib //头文件
jpeg //头文件
...........
二、使用cmake-gui编译
先讲一个坑,编译环境一定要纯净,不可以安装乱七八糟的其他同类或不同类的,我就是安装了PortableBuildTools导致编译失败。
1、使用cmake-gui打开源码目录,选择相应的make工具
2、使用官网默认配置编译即可
编译可选项:
FLTK_BUILD_SHARED_LIBS on/off 是否生成动态库
FLTK_BUILD_FLUID on/off 是否生成FLUID,这是一个UI设计器
记得点 Configure 和 Generate
3、使用make工具生成库
cd G:/fltk-1.4.3/build
make -j4
三、使用fltk-config工具(SH脚本)编译Hello, World
FLTK 自带的 fltk-config 脚本可用于符合 Posix 标准的 shell 系统,例如 Unix/Linux、macOS、以及装有 MinGW、MSYS2 或 Cygwin 的 Windows 系统。具体请看官网详解。
目录结构
fltk_test
CMakeLists.txt //cmake文件
hello.cxx //来自官网源码fltk-x.x.x\test\hello.cxx
fltk-config //fltk配置工具,来自fltk-x.x.x\build\bin\fltk-config
使用PowerSheell进入fltk_test目录,执行命令:
sh .\fltk-config --compile .\hello.cxx
四、使用cmake编译Hello, World
cmake_minimum_required(VERSION 3.20)
project(fltk_test)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows")
include_directories(G:/fltk-1.4.3G:/fltk-1.4.3/buildG:/fltk-1.4.3/pngG:/fltk-1.4.3/zlibG:/fltk-1.4.3/jpeg
)
link_directories(G:/fltk-1.4.3/build/lib
)
add_executable(hello hello.cxx)
target_link_libraries(hellofltkgdiplusole32uuidcomctl32ws2_32winspool
)
五、使用make install来安装更纯粹的软件包
软件包的安装路径可以在之前第二步的cmake-gui里修改CMAKE_INSTALL_PREFIX
cd G:\fltk-1.4.3\build
make install
目录结构
FLTK
bin
CMake
include
lib
share
注意:在bin目录里的fltk-config会自动把库目录导航到这里。