1. Ubuntu下FLTK编译和使用
- 编译源码
- 安装依赖
sudo apt install libx11-dev sudo apt install cmake make
- 编译
# 进入源码目录fltk-1.3.9 mkdir build cd build cmake .. make
- 库文件位于
build/lib
中
- 准备头文件
# 此时位于build目录下 mkdir include cp -r ../FL include/ cp FL/abi-version.h include/FL/
- 将库文件和头文件转移到项目目录,文件组织结构如下
fltk-1.3.9-build |--- include |--- lib helloworld.cpp CMakeLists.txt
- helloworld.cpp
#include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Box.H> int main(int argc, char **argv) { Fl_Window *window = new Fl_Window(340,180); Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!"); box->box(FL_UP_BOX); box->labelfont(FL_BOLD+FL_ITALIC); box->labelsize(36); box->labeltype(FL_SHADOW_LABEL); window->end(); window->show(argc, argv); return Fl::run(); }
- CMakeLists.txt
cmake_minimum_required(VERSION 3.20) project(HelloWorld) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/fltk-1.3.9-build/include) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/fltk-1.3.9-build/lib) add_executable(${PROJECT_NAME} helloworld.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE fltk X11 dl)
2. Windows下FLTK编译使用
使用MinGW的命令:
cmake .. -G "MinGW Makefiles"
使用MinGW生成的库文件为*.a
使用MinGW可能出现链接错误
安装w64devkit,包含gcc、g++、make等构建工具。
- 编译源码
# 当前目录为fltk-1.3.9 mkdir build cd build # cmake .. -G "MinGW Makefiles" cmake .. # 使用VS打开解决方法,编译ALL_BUILD
- 库文件位于
build/lib/Release|Debug
中
- 库文件位于
- 准备头文件
# 此时位于build目录下 mkdir include # 将../FL复制到include/ # 将FL/abi-version.h复制到include/FL/
- 将库文件和头文件转移到项目目录,文件组织结构如下
fltk-1.3.9-build |--- include |--- lib helloworld.cpp CMakeLists.txt
- CMakeLists.txt
cmake_minimum_required(VERSION 3.20) project(HelloWorld) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/fltk-1.3.9-build/include) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/fltk-1.3.9-build/lib/Release) add_executable(${PROJECT_NAME} WIN32 helloworld.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE fltk)
- 编译运行
# 此时位于项目目录 mkdir build cd build cmake .. # 使用VS打开sln文件 # 编译ALL_BUILD # 运行HelloWorld.exe