ubuntu14.04下Qt5.8的安装

来源:互联网 发布:林肯mac 编辑:程序博客网 时间:2024/05/17 03:31

    到Qt官网根据需要下载安装包,我下载的是Linux下的离线安装包qt-opensource-linux-x64-5.8.0.run。进入到安装包所在的目录,如果安装包无法直接运行的话则执行以下命令:

$chmod +x qt-opensource-linux-x64-5.8.0.run

$./qt-opensource-linux-x64-5.8.0.run

然后按照安装步骤的指引进行安装。

    安装完成以后在资源搜索中搜索qt就可以找到所安装的软件。建立HelloWorld工程,点击运行却产生编译错误:collect2:ld returned 1 exit status。查询发现是cmake版本不对。ubuntu 14.04 下默认的cmake版本是2.8.12.2,安装了Qt5.8.0,其中Qt Creator 要求的cmake最低版本为3.0,所以需要升级cmake,参照网上教程执行如下步骤:
$sudo apt-get install software-properties-common

$sudo add-apt-repository ppa:george-edison55/cmake-3.x

$sudo apt-get update

系统中本来已有cmake,所以再执行下一步

$sudo apt-get upgrade

     安装完成后$cmake --version, 报错:CMake Error: Could not find CMAKE_ROOT !!!   找不到cmake了,无奈只能卸载cmake再重装:

$sudo aptitude purge cmake

    出现以下选项

/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

下列软件包将被“删除”:           
  cmake{p}
0 个软件包被升级,新安装 0 个, 1 个将被删除, 同时 9 个将不升级。
需要获取 0 B 的存档。 解包后将释放 13.7 MB。
下列软件包存在未满足的依赖关系:
 ros-indigo-catkin : 依赖: cmake 但它将不会被安装。
下列动作将解决这些依赖关系:

       删除 下列软件包:                            
1)       ros-indigo-actionlib                       
2)       ros-indigo-actionlib-msgs                  
3)       ros-indigo-actionlib-tutorials             
4)       ros-indigo-amcl                            
5)       ros-indigo-arbotix                         
6)       ros-indigo-arbotix-controllers             
7)       ros-indigo-arbotix-msgs                    
8)       ros-indigo-arbotix-python                  
9)       ros-indigo-arbotix-sensors                 
10)      ros-indigo-audio-capture                   
11)      ros-indigo-audio-common                    
12)      ros-indigo-audio-common-msgs               
13)      ros-indigo-audio-play                      
14)      ros-indigo-base-local-planner              
15)      ros-indigo-bfl                             
16)      ros-indigo-bond                            
17)      ros-indigo-bond-core                       
18)      ros-indigo-bondcpp                         
19)      ros-indigo-bondpy                          
20)      ros-indigo-calibration-msgs   
.....
是否接受该解决方案?[Y/n/q/?] n


下列动作将解决这些依赖关系:

     安装 下列软件包:                                                          
1)     libjsoncpp0 [0.6.0~rc2-3ubuntu1 (trusty)]                                

     升级 下列软件包:                                                          
2)     cmake [2.8.12.2-0ubuntu3 (now, trusty) -> 3.2.2-2~ubuntu14.04.1~ppa1 (trusty)]



是否接受该解决方案?[Y/n/q/?] y

下列“新”软件包将被安装。
  libjsoncpp0{a}
下列软件包将被升级:
  cmake
1 个软件包被升级,新安装 1 个, 0 个将被删除, 同时 9 个将不升级。
需要获取 2,675 kB 的存档。 解包后将要使用 617 kB。
您要继续吗?[Y/n/?] y


×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/

    由于系统中装有ros,ros的各个程序包依赖cmake进行编译,第一次出现的建议方案是删除依赖cmake的所有ros下的程序包,选择n;然后产生了新的解决方案----升级cmake到3.2.2-2,选择y,完成升级。本人在安装有相同系统的不同电脑上安装会出现不同的建议方案,所以实际出现的情况可能跟以上描述会有些出入,不过如果方案不合适选择n就好,最后会出现适合的处理方案。

    升级完成以后

$cmake --version

结果如下

cmake version 3.2.2

    再次使用Qt Creator 创建工程,程序正常执行。

原创粉丝点击