该问题是由于在windows将qt安装包解压后安装,应该将安装包复制到linux后再解压安装。不过在windows下解压后也可以最终实现qt的正确安装,该问题的解决方法如下:
方法一:修改LD_LIBRARY_PATH环境变量。
这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效。LD_LIBRARY_PATH的作用:这个环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。
具体步骤:
1、找到动态库所在路径:sudo find / -name "[动态库名字]"
2、打开~/.bashrc文件
3、在该文件最后一趟添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[动态库所在的绝对路径]
4、source ~/.bashrc
方法二:修改/etc/ld.so.conf配置文件
特点:对所有用户生效。不是每个操作系统都有这个配置文件,就Ubuntu系统有。
/etc/ld.so.conf的作用:记录了程序加载运行期间查找动态链接库时的路径。
具体步骤:
1、找到动态库所在路径:sudo find / -name "[动态库名字]" libQtCore.s0
2、打开/etc/ld.so.conf文件:sudo vi /etc/ld.so.conf
3、在最后一行添加动态库的绝对路径
4、重新加载/etc/ld.so.conf文件:sudo ldconfig -v
方法三:创建动态库的软连接(推荐)
特点:让所有用户生效;并且通用,只要是Linux类型的操作系统,都会去/usr/lib目录下去找动态库
具体步骤:
1、找到动态库所在路径:sudo find / -name "[动态库名字]"
2、创建动态库软连接:ln -s [动态库] [待创建的软链接] 注意:1、创建软连接的时候要用绝对路径,如果用相对路径,会导致只在当前路径有效,其他路径这个软连接就找不到了。2、不建议用cp的方式代替ln-s的方式。原因:当动态库升级的时候,有可能导致动态库版本不一致,还是链接的旧版本。
方法四:
若动态库不存在,则需安装 sudo apt-get intstall libxxx-dev(libQtCore-dev)
以上四种方法,小白本人都试过,唯独方法三有效,但安装包/lib下的所有*.so动态库,linux都找不到,所有都需要手动动态链接,如下列出。ln -s /mnt/hgfs/share/qt-everywhere-opensource-src-4.8.0/lib/libphonon.so /usr/lib/libphonon.so。有耐心的,一个个的链接过去吧。
libphonon.so
libQt3Support.so
libQtCLucene.so
libQtCore.so
libQtDBus.so
libQtDeclarative.so
libQtDesigner.so
libQtDesignerComponents.so
libQtGui.so
libQtHelp.so
libQtMultimedia.so
libQtNetwork.so
libQtOpenGL.so
libQtScript.so
libQtScriptTools.so
libQtSql.so
libQtSvg.so
libQtTest.so
libQtWebKit.so
libQtXml.so
libQtXmlPatterns.so