Linux下安装QT的剧痛经历.docx

上传人:b****7 文档编号:23933491 上传时间:2023-05-22 格式:DOCX 页数:23 大小:30.54KB
下载 相关 举报
Linux下安装QT的剧痛经历.docx_第1页
第1页 / 共23页
Linux下安装QT的剧痛经历.docx_第2页
第2页 / 共23页
Linux下安装QT的剧痛经历.docx_第3页
第3页 / 共23页
Linux下安装QT的剧痛经历.docx_第4页
第4页 / 共23页
Linux下安装QT的剧痛经历.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Linux下安装QT的剧痛经历.docx

《Linux下安装QT的剧痛经历.docx》由会员分享,可在线阅读,更多相关《Linux下安装QT的剧痛经历.docx(23页珍藏版)》请在冰豆网上搜索。

Linux下安装QT的剧痛经历.docx

Linux下安装QT的剧痛经历

安装QT的惨痛经历

目标:

2012.4月下旬,计划开始在linux上安装QT和ffmpeg,准备摸索一下视频客户端的开发。

----------------------------------------------------以下是安装过程----------------------------------------------------

由于没有额外的电脑,所以使用了虚拟机安装。

电脑上刚好有fedora6版本的linux,于是安装。

在安装过程中选择了开发工具。

安装完成,从官网下载最新的qt4.8.0,拷贝到一个目录中然后解压。

进入目录后:

./configure,选择开源“o”,并接受协议“yes”,2小时后,提示失败。

找不到解决办法,后听说一般都用红帽企业版,后找来企业版5.5安装。

安装完成,然后把原始的qt卸载,计划安装新版本。

结果无法安装,痛苦。

由于原先的QT被卸载,所以又只好重装同一系统。

完成后不再卸载原始的qt,但是无qtcreator,随后在nokia官网下载qtcreator成功,然后安装成功。

但是无法启动,双击时无任何反应,汗。

安装qtsdk,先:

./configure,结果提示总线错误

安装ffmpeg,先:

./configure,结果提示总线错误

又上nokia官网下载qtlib,结果下载下来的是qt4.8.1(文件名QtSdk-offline-linux-x86-v1.2.1.run,为方便,后面以表示之),按照说明,先修改文件的执行模式:

chmodu+x,成功,然后安装:

./,仍然是错误:

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/usr/lib/libstdc++.so.6:

version`GLIBCXX_3.4.9'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/usr/lib/libstdc++.so.6:

version`GLIBCXX_3.4.11'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/lib/libc.so.6:

version`GLIBC_2.9'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/lib/libc.so.6:

version`GLIBC_2.10'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/lib/libc.so.6:

version`GLIBC_2.11'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run:

/lib/libc.so.6:

version`GLIBC_2.7'notfound(requiredby/root/Desktop/vmtool/QtSdk-offline-linux-x86-v1.2.1.run)

上网上搜索,说需要libstdc++.so.6.0.10,然后下载之,放入/usr/lib/中,并修改libstdc++.so.6的链接为此文件,然后继续安装,此报另外的错误(内容没有记下来),此时原来的文本文件编辑器gedit无法启动,直接崩溃。

然后换回libstdc++.so.6的链接文件为原来的libstdc++.so.6.0.8,无解。

再仔细看nokia网站说明,似乎没有说支持企业版linux,而是支持ubuntu。

然后下载ubuntu11.10的桌面版(基本上是最新的了),32位的。

安装,过程中不能选择开发工具,但是等了好久,终于安装完成。

查看,结果无qt,只好重新安装。

这次直接安装qt4.8.1(qt-everywhere-opensource-src-4.8.1),解压,进入目录:

./configure

结果提示无g++,晕,明显是安装了gcc,竟然没有g++!

后上网搜索g++,但似乎是集成在gcc里的,所以到官网http:

//gcc.gnu.org/下载gcc最新版本4.7.0,这里有很多镜像站点,我从加拿大的一个站点上下载,速度相当快,总大小有101MB。

下载完成,放进虚拟机,拷贝到一个目录中,然后解压,进入目录,运行如下命令(只有2个目录3个文件):

./install-sh

结果提示错误,我晕啊。

查看拷贝进来的压缩文件,只有183KB,而原始的是101MB,后重新拷贝,原来是上次没有拷贝完,但不知原因。

解压后,目录里有很多文件夹和文件,这次正常了,再次进入,运行命令:

./configure

数分钟后,提示:

checkingforobjdir....libs

checkingforthecorrectversionofgmp.h...no

configure:

error:

BuildingGCCrequiresGMP4.2+,MPFR2.3.1+andMPC0.8.0+.

Trythe--with-gmp,--with-mpfrand/or--with-mpcoptionstospecify

theirlocations. Sourcecodefortheselibrariescanbefoundat

theirrespectivehostingsitesaswellasat

ftp:

//gcc.gnu.org/pub/gcc/infrastructure/. Seealso

http:

//gcc.gnu.org/install/prerequisites.html foradditionalinfo. If

youobtainedGMP,MPFRand/orMPCfromavendordistributionpackage,

makesurethatyouhaveinstalledboththelibrariesandtheheader

files. Theymaybelocatedinseparatepackages.

汗,还需要另外的三个库!

上网搜索,结果在gcc官网的fpt站点上发现了它们,下载之,然后放入虚拟机中,拷贝到独立目录中,直接解压,然后进入gmp目录:

./configure

结果提示如下:

checkingwhethervsnprintfworks...yes

checkingwhethersscanfneedswritableinput...no

checkingforstructpst_processor.psp_iticksperclktick...no

checkingforsuitablem4...configure:

error:

Nousablem4in$PATHor/usr/5bin(seeconfig.logforreasons).

没有m4(m4是什么东东?

一头雾水),不管,进入mpc:

./configure

结果提示另外一个错误(没有记录下来),mygod,要死人了,也不管,进入mpfr目录,然后:

./configure

结果提示内容和gmp一样,放我一条生路吧$#@@!

!

继续上网搜索m4,发现这是一个库,下载最新版本,然后解压再安装:

./configure

make

makeinstall

非常顺利,成功!

除了qtctreator一次性成功之外,这个是第二次了,爽。

回过头安装gmp:

./configure

成功,再

make

也成功,继续

makeinstall

又成功了,顺利啊,再安装mpc:

./confgiure

结果提示和上次一样,是有mpfr有关的,所以就先安装mpfr,成功,再安装mpc,也成功。

松了口气。

安装gcc4.7.0:

./configure

结果错误还是一样,需要那3个库。

晕,版本不对也不行啊,关键是有的库不好找,本来不想找,但现在看来不找还是不行,找就找了,终于找到了,下载地址:

mpfr,mpc:

http:

//www.multiprecision.org/

mpfr:

http:

//mpfr.loria.fr/mpfr-2.3.1/

gmp:

http:

//gmplib.org/

这次一定要下载对应的版本了,下载结束再安装(无需再安装m4了,之前安装好的),仍然按照正确的顺序:

先gmp,再mpfr,最后mpc,顺利,又成功了。

再安装gcc4.7.0:

./configure

几秒钟后结束,没有报错,心有喜。

继续:

make

满屏飞滚字母,这下有好戏看了,一边写这个文章,一边让它在那里滚吧。

几十分钟过去了,它停住了!

提示如下:

checkingfori686-pc-linux-gnu-gcc.../home/ligo/qttools/gcc-4.7.0/host-i686-pc-linux-gnu/gcc/xgcc-B/home/ligo/qttools/gcc-4.7.0/host-i686-pc-linux-gnu/gcc/-B/usr/local/i686-pc-linux-gnu/bin/-B/usr/local/i686-pc-linux-gnu/lib/-isystem/usr/local/i686-pc-linux-gnu/include-isystem/usr/local/i686-pc-linux-gnu/sys-include   

checkingforsuffixofobjectfiles...configure:

error:

in`/home/ligo/qttools/gcc-4.7.0/i686-pc-linux-gnu/libgcc':

configure:

error:

cannotcomputesuffixofobjectfiles:

cannotcompile

See`config.log'formoredetails.

make[2]:

***[configure-stage1-target-libgcc]错误1

make[2]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make[1]:

***[stage1-bubble]错误2

make[1]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make:

***[all]错误2

上网上搜索到几个网址:

http:

//gcc.gnu.org/bugzilla/show_bug.cgi?

id=40360

http:

//gcc.gnu.org/bugzilla/show_bug.cgi?

id=35693

http:

//gcc.gnu.org/bugzilla/show_bug.cgi?

id=35577

http:

//gcc.gnu.org/bugzilla/show_bug.cgi?

id=36248

说的问题都很相似,但可能不是同一个版本。

大致看了一下,有可能是mpfr库的路径造成的问题,于是想按照示例指定mpfr的路径,在终端上的查看mpfr的路径:

whereismpfr

结果显示为空!

竟然没有安装成功?

但是安装的过程中没有看到有错误产生。

为了再看一遍是否成功,对mpfr重新安装了一遍,在makeinstall结束后,离打印结束的位置很近的地方有如下提示:

----------------------------------------------------------------------

Librarieshavebeeninstalledin:

  /usr/local/lib

Ifyoueverhappentowanttolinkagainstinstalledlibraries

inagivendirectory,LIBDIR,youmusteitheruselibtool,and

specifythefullpathnameofthelibrary,orusethe`-LLIBDIR'

flagduringlinkinganddoatleastoneofthefollowing:

  -addLIBDIRtothe`LD_LIBRARY_PATH'environmentvariable

    duringexecution

  -addLIBDIRtothe`LD_RUN_PATH'environmentvariable

    duringlinking

  -usethe`-Wl,--rpath-Wl,LIBDIR'linkerflag

  -haveyoursystemadministratoraddLIBDIRto`/etc/ld.so.conf'

Seeanyoperatingsystemdocumentationaboutsharedlibrariesfor

moreinformation,suchastheld

(1)andld.so(8)manualpages.

----------------------------------------------------------------------

先不管,再:

whereismpfr

结果还是显示为空,直接打开/usr/local/lib,还是可以看见有mpfr库的:

libmpfr.a、libmpfr.la、libmpfr.so.1.1.1、libmpfr.so.1.2.2,还有两个链接文件:

libmpfr.so、libmpfr.so.1。

指定路径的例子如下:

../gcc-4.3.0/configure--with-gmp=/apps/gmp/4.2.2

--with-mpfr=/apps/mpfr/2.3.0--prefix=/apps/gcc/4.2.2

--enable-languages=c,c++,fortran,java,objc,obj-c++,treelang

重新进入gcc4.7.0目录:

./configure--with-mpfr=/usr/local/lib

几秒钟就结束了,没有发现错误。

继续:

make

结果错误依旧。

继续上网搜索,请参考网址:

需要安装gmp与mpfr

并且需要在.bash_profile(一般在/root目录下)配置LD_LIBRARY_PATH,把GMP与MPFR对应的lib配置上

如:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:

/usr/local/mpfr/2.4.0/lib:

/usr/local/gmp/4.2.2/libexportLD_LIBRARY_PATH

一定要重启生效或者使用source/root/.bash_profile

但我不是root用户,无法进入这个目录,晕,root用户还没有开启,还得找方法。

哎,惨痛啊,今天都5.4号了,1周多了,这环境还没有搞定,看来搞linux有饭吃,服务就能赚钱了。

由于无法直接修改.bash_profile文件,所以就直接在命令行下胡乱试一下:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:

/usr/local/lib

然后再make,结果错误一样。

继续搜索,找到了 

configure:

error:

cannotcomputesuffixofobjectfiles:

cannotcompilegcc

   Configurefilecan'tfindmpfrlibs

exportLD_LIBRARY_PATH=/usr/local/lib(ifyourmpfrisintalledinit)

按照它,我输入:

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:

/usr/local/lib

然后再make,结果又错了,但信息不一样:

Infileincludedfrom/usr/include/stdio.h:

28:

0,

                from../.././libgcc/../gcc/tsystem.h:

88,

                from../.././libgcc/libgcc2.c:

29:

/usr/include/features.h:

323:

26:

fatalerror:

bits/predefs.h:

没有那个文件或目录

compilationterminated.

make[3]:

***[_muldi3.o]错误1

make[3]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0/i686-pc-linux-gnu/libgcc'

make[2]:

***[all-stage1-target-libgcc]错误2

make[2]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make[1]:

***[stage1-bubble]错误2

make[1]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make:

***[all]错误2

网上也找不到什么解决方法,我以为是自己可能把LD_LIBRARY_PATH变量给改坏了,用set看了一下,其值为:

/usr/local/lib,usr/local/lib

两个重复的没有啥特殊用途,于是重启虚拟机系统,再进入目录:

./configure

提示无权限,接着用

su

输入密码。

这个用来提升权限,再

./configure

很快就成功,然后继续

make

结果又出错了:

/home/ligo/qttools/gcc-4.7.0/host-i686-pc-linux-gnu/gcc/cc1:

errorwhileloadingsharedlibraries:

libmpfr.so.1:

cannotopensharedobjectfile:

Nosuchfileordirectory

make[3]:

***[_muldi3.o]错误1

make[3]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0/i686-pc-linux-gnu/libgcc'

make[2]:

***[all-stage1-target-libgcc]错误2

make[2]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make[1]:

***[stage1-bubble]错误2

make[1]:

正在离开目录`/home/ligo/qttools/gcc-4.7.0'

make:

***[all]错误2

和之前不一样。

似乎又是mpfr的问题,但是进入/usr/local/lib查看,libmpfr.so.1还是在的,而且其链接的那个文件也同样存在,怎么可能打不开呢?

5.07:

今天启动虚拟机,然后直接输入set查看LD_LIBRARY_PATH的值,结果不存在这个坏境变量,于是设置它:

exportLD_LIBRARY_PATH=/usr/local/lib

然后再进入gcc-4.7.0目录:

./configure

成功,再

make

结果还是失败:

/usr/include/features.h:

323:

26:

fatalerror:

bits/predefs.h:

没有那个文件或目录

看来一定要查看这个文件是什么了,网上搜索到 

解决方法:

确定你的系统是x86_64GNU/Linux

       root@mm-desktop:

/home/mm/android#uname-a

      Linuxmm-desktop2.6.27-9-generic#1SMPThuNov2022:

15:

32UTC2008x86_64GNU/Linux

安装libc6-dev-i386

    sudoapt-getinstalllibc6-dev-i386

     

不管了,直接输入命令看能否解决:

sudoapt-getinstalllibc6-dev-i386

结果显示:

末发现软件包libc6-dev-i386,没有办法,上网上又搜索到

编译过程中出错,报错是fatalerror:

bits/predefs.h:

没有那个文件或目录compilationterminated.,需要安装包

multilib, 命令为$sudoapt-getinstallgcc-multilib

我在命令行中输入:

sudoapt-getinstallgcc-multilib

结果提示:

现在没有可用的软件包gcc-multilib,但是它被其它的软件包引用了。

这可能意味着这个缺失的软件包可能已被废弃,

或者只能在其

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1