FLTK安装
FLTK是C++的一款出色的GUI库。但是C++一直是非常烦人,装一个库都要自己编译,而且还容易出错。
这篇文章是我在尝试了好几个小时以后才写出来的,介绍了FLTK的安装和编译以及各种常见的错误。
在Windows、Linux、Mac上大同小异。
Windows的用户要先安装Git。
Windows下的同志的提前准备。
首先要安装git。Git for Windows
傻瓜式安装。如果有问题可以在网站上搜索。
之后打开gitbash。
注意在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…。
选择.tar.gz下载,然后解压,这里解压到C:/fltk。Linux、Mac的朋友们可以解压到自己的文件夹里。
准备好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
进去以后一直往下滑,直到看到以下的界面。
下载MinGW-w64 GCC-8.1,下载x86_64-posix-seh。解压到C:/mingw。
将C:/mingw、C:/mingw/bin、C:/mingw/lib、C:\mingw\lib\gcc\x86_64-w64-mingw32\8.1.0\include等添加到path。
打开文件资源管理器=>此电脑=>属性。
点击高级系统设置=>环境变量=>path进行编辑。其中C:/fltk/fltk和C:/fltk/fltk/bin先不用管。
接下来重启git bash,然后输入g++ --help、gcc --help、mingw32-make --help检查是否成功。
编译FLTK
Linux和Mac的朋友们请回来
切换到C:\fltk\fltk-1.3.7。右键点击在这里打开git bash。Linux和Mac的朋友们打开命令行(terminal)。
接下来输入(命令下面有解析,看完解析再执行)。
./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的版本在下载的时候可以看到,解压后源代码文件夹也有。
接下来说prefix。 prefix表示编译后结果应该放在那个文件夹。这个文件夹应该是空的,里面不能有任何东西。
C:/fltk/fltk是一个空文件夹,准备存放fltk编译结果。fltk文件夹如图所示。
之所以图中的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目录中看到如下结果。
接着将fltk/fltk和include、lib、bin添加到PATH。
在git bash输入fltk-config --help。
编译FLTK应用
创建一个FLTK应用。
注意不要用g++或gcc编译。打开git bash,切换到和C++文件所在的同一目录下。一定要用git bash,使用VSCode的同志们可以在终端=>选择默认配置文件里将默认的终端改为git bash。如果不使用git bash的话会出错。编译出来的文件不需要在git bash中运行。Linux和Mac的朋友们不用git bash。
输入fltk-config --compile main.cpp。
fltk-config会自动帮我们生成g++指令然后执行。很快就能编译出main.exe。点击执行。
如果有任何问题或报错,请在评论区问我。