Ubuntu18.04 ARM 编译安装qtqtcreator,及操作过程中异常解决方式
Posted 6年老菜鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04 ARM 编译安装qtqtcreator,及操作过程中异常解决方式相关的知识,希望对你有一定的参考价值。
这里是Ubuntu18.04 ARM ,编译安装的是qt 5.9.7 , qtcreator 4.7.1
1 、 准备好qt、qtcreator源码包,
qt 5.9.7 下载地址:点击下载
qtcreator 4.7.1 下载地址:点击下载
2、安装依赖
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gperf
sudo apt-get install libxcb*
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut3-dev
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libx11-dev libxext-dev libxtst-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libxkbcommon-x11-dev
3、安装 qt
3.1 将下载好的 qt 源码解压,并进入解压后的目录
3.2 解压命令有两行,因为有两层压缩,或者图形界面操作,右键 - 提取到此处
xz -d qt-everywhere-opensource-src-5.9.7.tar.xz
tar -xvf qt-everywhere-opensource-src-5.9.7.tar
3.3 解压好后,进入目录 ,执行脚本
cd qt-everywhere-opensource-src-5.9.7
./configure
可能会出现 报错 make:***[module-qtbase-make_first] Error 2
解决方式:执行 make clean
然后清除QT源码文件,清除编译QT是产生的临时文件,再重启,重新释放Qt源码
3.4 选择版本(o)和接受协议(y)
3.5 编译 , 如果比较慢的话就多线程,多线程会很卡可能会出现报错,建议空闲挂机make
编译 3 ~ 12 小时
make
或者
make -j2
报错: makefile:638:recip for target”xxxxxxx“ failed
解决方式:执行 make clean
清除编译时产生的临时文件,在源码目录内创建临时文件夹,在临时文件夹内再次编译,修改编译后放置目录
报错: make:***[Makefile:337:module-qtdeclarative-make_first] Error 3
解决方式:python 可能被python2 或 python3 代替了,导致映射不到。
ls /usr/bin/python* 查看有没有python
没有的话创建软连接: ln -s /usr/bin/python3 /usr/bin/python
3.6 安装 默认安装目录在 /usr/local/ 下
sudo make install
3.7 配置环境变量 , 打开配置文件
sudo vim /etc/profile
3.8 写入环境变量,将一下内容加入到配置文件末尾
(注意安装路径填写实际安装路径,避免出错)
export QTDIR = /usr/local/Qt-5.7.1
export PATH = $QTDIR/bin:$PATH
export MANPATH = $QTDIR/man:$MANPATH
export LD_LIBRARY_PATH = $QTDIR/lib:$LD_LIBRARY_PATH
3.9 使环境变量生效
source /etc/profile
3.10 验证是否生效 , 正常会有版本信息输出
qmake -v
4 安装 QtCreator
4.1 解压 qt-creator-opensource-src-4.7.1.tar.gz 到当前目录
tar -zxvf qt-creator-opensource-src-4.7.1.tar.gz
4.2 进入解压后的目录,并创建临时目录 , 进入临时目录
cd qt-creator-opensource-src-4.7.1
mkdir build
cd build
4.3 开始编译 ,编译比较慢就用多线程, make - j2
编译时间较长,建议挂机 make
qmake -r
make
4.4 安装
sudo make install
4.5 安装完以后,就可以打开QtCreator
可能会报错:找不到.... makefile 配方 ....
解决方式:删除构建目录下的 makefile
在 QtCreator 构建设置下,设置构建环境,
清除系统环境变量✔
QtCreator - 项目 - 构建设置 - 构建环境 - 详情 - 清除系统环境变量
添加项目后,启动qt-creator的时候可能会报错:覆盖xxxx文件失败
解决方式:运行QtCreator 的时候给权限
使用命令行启动 qt-creator
sudo ./qtcreator
qtcreator 可能在 (在 /usr/bin 或 /bin/ 目录) ,
或者用 whereis qtcreator 查找一下路径
ps:我这里安装了两个 qtcreator ,用源码安装的中文乱码,于是用命令行又安装了一个
Ubuntu 系统下安装gcc-arm-none-eabi编译STM32工程
在使用rikirobot机器人做ROS下的导航实验是,粗心大意将底层控制板烧坏,买了个新的电路板重新开始.在编译商家各处的STM32源代码时,Ubunt下总是出现了/arm-none-eabi-gcc/bin/ld:cannot find -lstdc++的错误,这是一个链接错误,使用arm-none-eabi-gcc编译器时总是连接不到libstdc++.首先尝试使用网上给出的一种方法,原因认为是在64位系统下编译32位的工程需要把32位的库包含进来,使用如下命令
1 sudo apt-get install gcc--multilib
操作之后还是没有变化,由于我的Ubuntu系统是32位,并且系统库中是包含libstdc++的,所以应该不是这个原因.考虑可能是系统自带的arm-none-eabi-gcc不好用,于是卸载重新安装交叉编译器,使用的是http://www.linuxidc.com/Linux/2015-08/121322.htm中给出的方法,版本是4.9
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
会显示软件未经过验证,我认为可以不用管,接着对STM32工程进行编译,成功!
以上是关于Ubuntu18.04 ARM 编译安装qtqtcreator,及操作过程中异常解决方式的主要内容,如果未能解决你的问题,请参考以下文章
在x86的Docker中构建TVM的ARM环境
在x86的Docker中构建TVM的ARM环境
_未完成;交叉编译QT5.9安装到嵌入式arm板子上
海思交叉编译器安装
Ubuntu 18.04 编译 ijkplayer
Ubuntu 18.04 手动编译安装 ffmpeg