新建命令窗口,进入opt目录
解压vmwaretolls安装包,文件名红色,说明需要管理员权限su切换
进入到解压好的文件目录,并查看目录文件ls展示文件目录下的文件
运行./vmware-install.pl
碰到yes/no回答yes
碰到其他直接回车
观察到linux窗口大小变化即生效
部分用户需重启才可生效
安装交叉编译器
创建sudo mkdir /usr/local/arm目录
解压文件到该目录下sudo tar xf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz -C /usr/lo/arm
查看验证、
配置环境变量
用管理员命令打开文件夹进入etc目录,找到profile文件打开,在最后加入交叉编译器的bin文件目录
重启计算机,使环境变量生效
验证环境变量生效,下图,即为成功
要使用此编译器,还要在 Ubuntu 上安装一些库
sudo apt-get install lsb-core lib32stdc++6
Tslib安装
解压tar xf tslib-1.22.tar.bz2
安装插件生成makefile
sudo apt-get update
sudo apt-get install autoconf automake libtool
执行 autogen.sh 生成 Makefile,以编译源码
如果报错
缺少宏相关的文件
安装pkg-config包,即可解决
sudo apt-get install pkg-config -y
安装后再次编译源码
配置交叉编译器工具和tslib的编译输出路径
./configure --host=aarch64-linux-gnu ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix= /home/alientek/tslib-1.21/arm-tslib
aarch64-linux-gnu为交叉编译工具的名字
/home/alientek/tslib-1.21/arm-tslib为交叉编译输出的路径,
出现上图直接进行
make
makeinstall
如果出现权限不够等,可切换管理员用户
Su
如果在管理员权限下仍makeinstall失败,在此命令窗口下查看aarch64-linux-gnu -v,如查不到,使用su -,完全切换到管理员权限(su仅仅切换的是用户存取权限,但无法获取环境变量 su -可),在进行makeinstall,如果出现relink linear.o,make clean清除后,在进行makeinstall,警告可不予理会。
验证编译出来的talib为ARM格式
找到编译输出的文件夹输入file bin/ts_calibrate
编译ARM平台qt源码
准备压缩包解压
进入加压后的编辑
mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf,配置相关编译器及路径文件目录
更改如下,添加绝对路径在每个交叉编译器前,路径为安装交叉编译器的bin目录
配置编译器选项,创建autoconfigure.sh文件,放入qt源码下
执行 make 开始编译
time (make -j 16) // -j 16 代表最多允许 16 条编译指令同时运行,参数 16,一般为 个人分配给虚拟机的核心数的 2 倍,前面加个 time 是测试编译时间。
执行make install
如果编译出错停止,找到,出错文件的目录,在autoconfigure.sh文件目录下skip 该文件
出错为qtlocation,
找到编译输出目录
切换为管理员用户su –
Qtlocation问题可以解决
至此,qt源码编译成功
Qt Creator安装
赋予该文件可执行权限,再执行安装
运行弹出qt安装界面
点击下一步输入邮箱密码下一步
勾选下图
下一步,勾选组件
添加,qt源码编译出来的文件目录下的qmake
添加交叉编译器
aarch64-linux-gnu-g++
aarch64-linux-gnu-gcc
移植qt代码到上位机
编译安装好的 arm-tslib 文件夹打包成 tar.bz2 格式
tar -jcf ./arm-tslib.tar.bz2 arm-tslib
arm-tslib.tar.bz2 解压到/usr/lib 目录下
tar xf arm-tslib.tar.bz2 -C /usr/lib
配置我们自己的 tslib 环境变量
vi /etc/profile
Esc +:wq然后回车退出
source /etc/profile 使能环境变量
/usr/lib/arm-tslib/bin/ts_test 运行 ts_test 测试触摸是否正常,点击界面的 Draw 测试
export TSLIB_CONSOLEDEVICE=none #控制台设备文件名,没有就一定要写none,否则执行出错
#export TSLIB_FBDEVICE=dev/fb0 #frame buffer,默认为fb0
export TSB_TSDEVICE=/dev/input/event0 #驱动触摸屏所在位置(自行查看event0/event1)
export TSLIB_CONFFILE=/etc/ts.conf #配置文件
export TSLIB_PLUGINDIR=/usr/lib/ts #tslib库文件
export TSLIB_CALIBFILE=/etc/pointercal #存储校准数据的文件
编译安装好的 arm-qt 文件夹打包成 tar.bz2 格式
tar -jcf ./arm-qt.tar.bz2 arm-qt
解压到/usr/lib 目 录下
tar xf arm-qt.tar.bz2 -C /usr/lib
配置qt环境变量
vi /etc/profile
Esc +:wq然后回车退出
使能 Qt 的配置在/etc/profile 的环境变量
行将 windows 下的(路径 C:\Windows\Fonts)下的中文字库放到新 建一个/usr/share/fonts/目录下
export QT_ROOT=/usr/lib/arm-qt #qt编译产物路径
export QT_QPA_FONTDIR=/usr/share/fonts #系统字体,可以拷贝win上的字体过来
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_FB_TSLIB=1 #支持tslib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib #添加tslib的lib库
source /etc/profile
/usr/lib/arm-qt/examples/widgets/animation/animatedtiles/animatedtiles //运行编译的示例