第一:【实验目的】
1、熟悉QT库的安装
2、移植QT库到开发板中
第二:【实验步骤】
1.安装步骤
2.由于aarch64交叉编译工具已经安装过,因此只需要从第三步交叉编译qt库开始
注意:因为我们的文件是.zip格式,把命令替换为unzip 文件名.zip
3.进入解压后的路径,执行下面的命令
注:1.文件路径中/opt/后面的这个文件根据自己安装时的文件夹名字进行修改
2.如果没有gedit 可以换成vim打开 sudo vim 文件路径
4. 搭建环境
注意:1.正常执行./auto.sh会显示Permission deny,也就是权限不够,就算chmod加那个文件加权限,他会继续显示下一个文件没有权限,这是由于这个文件夹是从Windows系统拷贝而来的文件,Windows系统中没有执行权限这个说法,而拷贝到Linux后自然也没有,因此需要给每个文件添加执行权限,但这样一个一个添加相当麻烦,因此使用su命令进入超级用户模式,再执行./auto.sh
2.继续执行,这时如果显示错误aarch64-linux-gnu-g++或者aarch64-linux-gnu-gcc没有找到,这是因为我们配置的交叉编译环境变量是在普通用户下的,先进入普通用户模式(若你是超级用户模式就输入exit),输入aarch64,然后连续按几次Tab键,若出现有aarch64-linux-gnu-gcc或者aarch64-linux-gnu-g++等等,若你此时处于普通用户下,有这些提示信息,则说明你普通用户下交叉编译的环境配置没有问题,输入su进入超级用户,再次执行上面的操作,此时,你会发现没有aarch64-linux-gnu-gcc或者aarch64-linux-gnu-g++。
解决方法:
1.先退出超级用户模式
2.输入 which aarch64-linux-gnu-gcc //获取命令存储的位置
3.通过上面的输出情况进入到gcc-aarch64-linux-gnu/bin目录下
4.输入pwd,获取当前目录路径,将路径复制
5.将你的路径替换掉后面标红部分并复制整一句,
export PATH="/opt/gcc-aarch64-linux-gnu/bin:$PATH"
6. 输入sudo -s
7. 输入vim ~/.bashrc 将刚刚复制的内容放置到文件最下面,保存退出
8. 输入 source ~/.bashrc 更新源
9. 重新进入/opt/文件目录下,继续之前的操作
10.若make后出现write error:no space left on device ,是因为分配给Ubuntu的磁盘空间满了,使用df -h可以查看内存剩余,最简单的解决办法是删除一些文件(我这里是删除了之前移植过来的rk3399的内核备份文件),安装大概需要11G的内存。其他方法是扩充磁盘,这个不知道怎么弄。
11.make完成后执行make install
12.将qt-opensource-linux-x64-5.9.0.run拷贝到/opt目录下(先复制到共享文件夹,再sudo chmod 777 qt-opensource-linux-x64-5.9.0.run,给足权限再mv到/opt)
13.执行./opensource-linux-x64-5.9.0.run,next->skip->next(路径可以自己改)->next->I have read…->next->install,可以看到启动界面。
14.点击tools->option
15.点击Build & Run,配置编译器选项
16.点击Complilers,再点击GCC->C,选择添加GCC编译器路径,不知道路径的还是用which看
17.再点击GCC->C++,选择添加G++编译器路径,同上面,最后点击Apply
18.点击Qt Version -> Add ->Browerse…->选择make install 后生成的文件夹中qmake的位置路径一般在图中那个位置(按这个教程安装的话)
19.
20.点击Apply->OK
21.将交叉编译生成的qt库压缩
sudo tar -zcvf qt5.9.1.tar.gz qt5.9.1-arm
22.将这个库复制到NFS挂载的文件夹中
sudo cp qt5.9.1.tar.gz /mnt/hgfs/LinuxShare/share/
23.在板子上将文件移动到/opt/目录下
sudo cp qt5.9.1.tar.gz /opt
24.进入文件夹并解压
cd /opt
tar -zxvf qt5.9.1.tar.gz
25.将qt程序运行所依赖的相关文件、配置等添加到环境变量中,操作如下
sudo vi /etc/profile
添加以下内容
export QTEDIR=/opt/qt5.9.0-arm/
export LD_LIBRARY_PATH=/opt/qt5.9.0-arm/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/usr/share/fonts/truetype/droid
26.保存退出,reboot重启开发板即可