编译安装
在我看来,编译安装的优点主要在于两点:
- 给初学者信心
编译过程中会生成一些示例程序,通过这些示例程序初学者可以明确地知道自己的系统能够成功运行FLTK库。 - 有许多示例程序能够参考
FLTK的源码中有一个test文件夹,里面有许多示例程序。在编译完源码之后,在test文件夹中用make
命令即可编译这些示例程序,用make -n
可以查看示例程序编译时链接了哪些库,为自己编译提供指引。
编译安装首先要确保所用c++工具链是mingw,而不是MSYS2中自带的gcc,具体可以参考这篇文章。
之后按照官方教程来就可以了:首先cd
到源码文件夹根目录进行配置:
./configure
之后编译:
make
之后安装:
make install
安装好之后可以用后面的示例编译看一下是否安装成功。
pacman安装
所用环境: Win10 x64、MSYS2、G++
之前尝试编译FLTK失败已经编译成功,在MSYS2中要选择mingw工具链而不要用自带的gcc工具链,然而发现MSYS里面有现成编译好的:
pacman -Ss fltk
返回结果:
mingw32/mingw-w64-i686-fltk 1.3.5-1
C++ user interface toolkit (mingw-w64)
mingw64/mingw-w64-x86_64-fltk 1.3.5-1
C++ user interface toolkit (mingw-w64)
安装下面那个:
pacman -S mingw-w64-x86_64-fltk
要注意的是这里库的安装路径是/mingw64/lib
, 编译的时候记得指定。
于是运行官方示例hello.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();
}
g++ hello.cpp -L/mingw64/lib -lfltk -o hello.exe
要注意的是在编译中没有指定库的位置会导致产生一串未定义引用的错误。
相关链接
专栏:FLTK