- 论坛徽章:
- 0
|
最近由于实验室项目需要,需要写一个串口测试与温控系统,需要使用qt,下载最新版qt4.5.3
./configure 之后,尽然出现错误,说需要检查X11之类没有包含之类的错误。
经过仔细分析发现,以前在REDHAT 9下安装qt之需要要 ./configure,而在ubuntu9.04却发生错误的主要原因,是在redhat 9下,有3张光盘,通常完全安装的下,会在/usr/lib /usr/include等目录下,安装很多的库和头文件,而这些东西正是qt需要的,所以给人的感觉就是qt的安装只需要./configure make ,而ubuntu9.04的安装版通常是最简安装,只有系统运行和一些软件需要的库,很多库文件并没有安装在/usr相应的目录下,那么如果在ubuntu9.04仍然configure,当然会错误。
具体如下:
1 构建编译环境:
ubuntu通常是有gcc,所以如果要正常编译的话还需要其他的东西,比如g++,automake,autoconf,
最好的方式在 sudo apt-get install buildessentil(单词拼写有问题,忘记了),如果构建编译环境,在ubuntu的wiki上,有很多的文章,可以去看看。
2 构建QT编译依赖的库
QT要正常编译,需要依赖很多的库,这些库通常和X11环境有关,这里之介绍基于X11版本的QT。依赖库如下:
NameLibraryNotesConfiguration optionsMinimum working version
XRender libXrender X Rendering Extension; used for anti-aliasing
-xrender or auto-detected0.9.0
Xrandr libXrandr X Resize and Rotate Extension
-xrandr or auto-detected1.0.2
Xcursor libXcursor X Cursor Extension
-xcursor or auto-detected1.1.4
Xfixes libXfixes X Fixes Extension
-xfixes or auto-detected3.0.0
Xinerama libXinerama Multi-head support
-xinerama or auto-detected1.1.0
Xi libXi X11 Input Extensions
-xinput or auto-detected1.3.0
Xt libXt Xt Intrinsics
0.99
Xext libXext X Extensions
6.4.3
X11 libX11 X11 Client-Side Library
6.2.1
SM libSM X Session Management
-sm or auto-detected6.0.4
ICE libICE Inter-Client Exchange
-sm or auto-detected6.3.5
glib libglib-2.0 Common event loop handling
-glib or auto-detected2.8.3
pthread libpthread Multithreading
2.3.5
检查自己是否都安装了这些库,可以使用新得力管理工具,一定要安装开发包,比如libice,可以search ice ,然后会列出很多的libxxxx,一定要选择libxxxdev之类的包,要注意包的版本问题。
仔细安装上述的所有库,确认都安装之后就可以编译QT了,很简单的方式:
./configure
make
make install
切记:如果./configure后出现错误,原因只有2个,一是你的编译环境有问题,相应的组建没有安装。二是依赖的包没有安装,根据上边的表,一一安装就可以了。 最好的文档在QT安装目录下的doc/html
firefox index.html 打开看看,里边有比这个更详细的安装文档,开源就需要阅读文档。
have fun ! by tastesweet 10/25/2009
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94039/showart_2080382.html |
|