FLTK安装

3,840 阅读5分钟

FLTK安装

FLTK是C++的一款出色的GUI库。但是C++一直是非常烦人,装一个库都要自己编译,而且还容易出错。

这篇文章是我在尝试了好几个小时以后才写出来的,介绍了FLTK的安装和编译以及各种常见的错误。

在Windows、Linux、Mac上大同小异。

Windows的用户要先安装Git。

Windows下的同志的提前准备。

首先要安装git。Git for Windows

傻瓜式安装。如果有问题可以在网站上搜索。

之后打开gitbash。

image.png

注意在git bash中文件夹路径和普通路径有所变化。 比如一个文件C:/fltk/fltk/fltk.cpp在git bash中就变成了/c/fltk/fltk/fltk.cpp。这是因为git bash模仿了Linux,而Linux是没有Windows下的驱动器的。同样,C:/fltk就变成了/c/fltk,C:/git就变成了/c/git,将所有的驱动器就变成了文件夹。如果我要直到C:/fltk目录下有什么文件,就在git bash中输入ls /c/fltk。

这里给大家一些常用的git bash命令:

ls <文件夹>:列出文件夹下的所有目录和文件夹。

ls -R <文件夹>:列出文件夹下所有目录和子目录下的文件夹和文件。

mkdir <文件夹>:创建文件夹。


请Linux和Mac的朋友们回来。 Linux朋友的准备: 准备好yum、apt-get、pacman等包管理工具。

Mac朋友的准备: 准备好brew、macport等包管理工具。

安装

下载

www.fltk.org/www.fltk.org/software.ph…

image.png

选择.tar.gz下载,然后解压,这里解压到C:/fltk。Linux、Mac的朋友们可以解压到自己的文件夹里。

image.png

image.png

image.png

准备好CMake和MinGW(GCC)

Linux和Mac的朋友们比较简单,用自带的yum、apt-get、pacman、brew(Mac)、macport(Mac)就可以了。 只需要安装gcc、cmake就可以了。在网上有大量的方法,注意版本要高,起码8.1。安装好以后就直接跳过。 Windows下的同志们需要用以下方法安装。

首先下载MinGW。 MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64 at SourceForge.net

进去以后一直往下滑,直到看到以下的界面。

image.png

下载MinGW-w64 GCC-8.1,下载x86_64-posix-seh。解压到C:/mingw。

image.png

image.png

将C:/mingw、C:/mingw/bin、C:/mingw/lib、C:\mingw\lib\gcc\x86_64-w64-mingw32\8.1.0\include等添加到path。

打开文件资源管理器=>此电脑=>属性。

image.png

点击高级系统设置=>环境变量=>path进行编辑。其中C:/fltk/fltk和C:/fltk/fltk/bin先不用管。

image.png

image.png

image.png

接下来重启git bash,然后输入g++ --help、gcc --help、mingw32-make --help检查是否成功。

image.png

image.png

image.png

编译FLTK

Linux和Mac的朋友们请回来

切换到C:\fltk\fltk-1.3.7。右键点击在这里打开git bash。Linux和Mac的朋友们打开命令行(terminal)。

image.png

接下来输入(命令下面有解析,看完解析再执行)。

./configure  --with-abiversion=10307 --prefix=/c/fltk/fltk

以下是解析

解析:这一条是配置命令。--with-abiversion是设置FLTK的abi-version。--prefix是设置编译输出文件夹。

先说abi-version。 根据FLTK版本的不同,abi-version也会有不同。在FLTK1.4.0以后abi-version就彻底被废除了,所以FLTK版本大于等于FLTK1.4.0的朋友们不需要加--with-abiversion=10307这一条设置了。FLTK版本小于1.4.0的同志们要加上这一句。abi-version就是将fltk的版本的点改成0。比如我的FLTK是1.3.7,abi-version就是10307。FLTK的版本在下载的时候可以看到,解压后源代码文件夹也有。

image.png

接下来说prefix。 prefix表示编译后结果应该放在那个文件夹。这个文件夹应该是空的,里面不能有任何东西。

C:/fltk/fltk是一个空文件夹,准备存放fltk编译结果。fltk文件夹如图所示。

image.png

image.png

之所以图中的fltk/fltk里面有文件,是因为我已经编译好fltk了,各位同志、朋友创建fltk/fltk文件夹的时候注意这是一个空文件夹,里面什么都不要放。

解析到此结束。现在可以执行指令了。

接下来会有很长时间的设置,你可以慢慢等。如果中途有报错可以在评论区问我。一般有报错是很正常的,我在编译的时候也有报错,直接忽略掉了,最后没有任何影响FLTK编译成功。但是如果因为报错导致编译停止就说明有重大错误,一定要在评论区问我。如果报错但是编译没有停止就没有问题。

接下来我们要执行另一条指令了。configure执行完以后在git bash或命令行中输入mingw32-make。

mingw32-make

make如果有报错但是没有停止可以不用管,因为报错停止了可以在评论区问我。

接着输入mingw32-make install --ignore-errors。

mingw32-make install --ignore-errors

如果有报错还是按照之前的方法解决。最后可以在fltk/fltk目录中看到如下结果。

image.png

image.png

接着将fltk/fltk和include、lib、bin添加到PATH。

在git bash输入fltk-config --help。

image.png

编译FLTK应用

创建一个FLTK应用。

image.png

注意不要用g++或gcc编译。打开git bash,切换到和C++文件所在的同一目录下。一定要用git bash,使用VSCode的同志们可以在终端=>选择默认配置文件里将默认的终端改为git bash。如果不使用git bash的话会出错。编译出来的文件不需要在git bash中运行。Linux和Mac的朋友们不用git bash。

image.png

image.png

输入fltk-config --compile main.cpp。

image.png

fltk-config会自动帮我们生成g++指令然后执行。很快就能编译出main.exe。点击执行。

image.png

image.png

如果有任何问题或报错,请在评论区问我。