在Ubuntu14.04上搭建MiniGui开发环境,需要依赖qvfb工具。
minigui官网提供了qvfb的安装包,下载连接 http://www.minigui.org/en/download/
安装过程比较痛苦, 需要依赖qt3的库和头文件,但是当前的qt版本已经比较高了,apt的源没有默认安装的libqt3-headers libqt3-mt-dev选项。
最开始的时候我是自己从网上找了qt3的库自己单独编译安装,但是有一些依赖无法安装成功,废了好大的力气最后还是失败了,差评!
最终,还是不使用minigui官网下载的qvfb安装包。以下为亲测通过的安装过程:
1、安装环境
ubuntu 14.04-i386
安装编译工具 sudo apt-get install build-essential
安装依赖的第三方库 libx11-dev libxext-dev libxtst-dev
qt-4.8.6源码下载链接:http://download.qt.io/archive/qt/4.8/4.8.6/
选择文件qt-everywhere-opensource-src-4.8.6.tar.gz
解压 $ tar zxvf qt-everywhere-opensource-src-4.8.6.tar.gz
这里解释一下,为什么不使用qt提供的最新版本,当前qt已经更新到了qt5.7版本,亲测过还是比较稳定可用的。但是我下载过qt5.x的版本,并没有找到qvfb工具,此处没有深究。所以使用了qt4.x最新的版本4.8.6。
2、编译安装qt-4.8.6
配置 $ ./configure -opensource -prefix /home/test/install/qt
执行make && make install
编译过程如果突然错误提示缺少库的话就使用apt源默认安装就好了。
编译通过,安装完成后,将qt的库和可执行文件路径配置到环境变量中,否则在安装qvfb时会报错。
export PATH=$PATH:/home/test/install/qt/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test/install/qt/lib
这里没有安装到系统默认的/usr/local文件夹下,是因为我的ubuntu并不需要qt的开发环境,只是需要qvfb工具,才不得不安装qt。
如果需要用过qt开发环境的,也可以只用默认安装。
3、编译安装qvfb
配置环境变量成功后,进入qt4.8.6源码目录下的tools/qvfb,执行qmake命令。
如果出现错误找不到qmake命令,则是因为环境变量配置没有生效。
qmake执行成功,执行make命令,开始编译
如果出现错误:
qanimationwriter.cpp:(.text+0x138):对‘png_create_write_struct’未定义的引用
qanimationwriter.cpp:(.text+0x143):对‘png_create_info_struct’未定义的引用
qanimationwriter.cpp:(.text+0x159):对‘png_set_compression_level’未定义的引用
qanimationwriter.cpp:(.text+0x178):对‘png_set_write_fn’未定义的引用
解决步骤:
(1)执行命令
$ locate libpng
查看系统libpng库位置,如果找不到,需要默认安装。
我的系统下结果为:
/lib/i386-linux-gnu/libpng12.so.0
(2)建立软连接
$ sudo ln -s /lib/i386-linux-gnu/libpng12.so.0 /lib/i386-linux-gnu/libpng.so
(3)修改Makefile文件
打开Makefile文件,找到LIBS变量,增加 -L/lib/lib/i386-linux-gnu -lpng:
LIBS = $(SUBLIBS) -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -lz -lXtst -lQtGu i -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -L/lib/lib/i386-linux-gnu -lpng -lQtCore -lpthread -lXext -lX11 -lm
保存退出,重新执行。
编译成功后,将源码目录bin下的qvfb文件拷贝到qt安装目录bin下。
运行 $ qvfb -width 600 -height 400 &
qvfb安装成功。在需要使用minigui前,先打开qvfb模拟工具,让其在后台运行,这样minigui的界面就可以正常运行了。