时间:2021-07-01 10:21:17 帮助过:16人阅读
要想在Linux下使用Qt,在安装Qt前需要先安装G++环境,安装后还需设置环境变量,只需七个步骤就能完成Qt开发环境的搭建,下面小编就给大家详细介绍下Linux如何搭建Qt环境,一起来学习下吧。
一、安装G++环境
sudo apt-get install build-essential
另外的一些相关环境。如果不安装,一些qt的组件是无法正常编译的,例如openGL
sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev
二、解压代码
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解压完进入解压后的源代码文件夹
三、执行。/configure生成makefile
。/configure -prefix /usr/local/Qt-4.8.2
(上面指定的这个目录/usr/local/Qt-4.8.2 ,就是make install 后的安装目录)
下面出现对话框选择open source edition.这是自由版。输入yes接受协议。
(1)如果你的机器各种库文件完整,经过一小会,配置完成,会出现以下信息
Qt is now configured for building ,just run ‘make’
Once everything is built , you must run ‘make install’
Qt will be installed into /usr/local/Qt-4.8.2
To reconfigure ,run ‘make confclean’ and ‘configure’
说明Makefile文件生成成功
(2)如果出现以下信息
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
还是老办法,以不变应万变。进config.test/x11/xlib 执行make命令,看出错信息
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm
/usr/bin/ld: cannot find -lXext
看到了吧,g++在/usr/X11R6/lib下,找不到libXext.so呢。
其原因就在于需要安装libX11的开发包,在Ubuntu/debian里包名都是libX11-dev
根据以往的经验,在。/configure前主动装好下面3个包,基本上就万事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安装所需到包后再重新。/configure即可生成Makefile文件
如果出现:Project ERROR: Package gstreamer-app-0.10 not found,则执行以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev如果出现 : g++: error: unrecognized command line option ‘-fuse-ld=gold’
这是Qt的一个bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在装有gold linker的系统里,编译脚本会加入-fuse-ld=gold选项,但这个选项gcc是不支持的。解决办法是移除该选项,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。
#
QMAKE_LFLAGS+=-fuse-ld=gold