主页 > 其他  > 

【Qt】之【Linux】Qt5.12.8单独编译qtvirtualkeyboard模块源码

【Qt】之【Linux】Qt5.12.8单独编译qtvirtualkeyboard模块源码
前言 背景

使用系统自带的(不是自己下载编译的)Qt 5.12.8 运行Qt Creator 项目 但是系统自带的Qt缺少一些库,比如本文提到的 qtvirtualkeyboard 库 因此需要编译同版本的模块库文件

编译平台

Mac Mini 下的VMware Fusion虚拟机 — aarch64环境下直接编译源码,无需交叉编译

默认的qt版本 === 5.12.8 步骤

官网下载Qt 5.12.8 源码压缩包并解压 qt-everywhere-src-5.12.8

编译整个 Qt 源码 源码目录同级目录下创建 build5.12.8(存放编译过程中文件)、linux_aarch64(存放编译后的文件)文件夹,创建配置脚本文件autoConfigure.sh: ../qt-everywhere-src-5.12.8/configure \ -prefix ../linux_aarch64 \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -skip qtcharts \ -skip qt3d \ -skip qtdeclarative \ -skip qtquickcontrols \ -skip qtquickcontrols2 \ -skip qtmultimedia \ -skip qtwebsockets \ -skip qtlocation \ -skip qtsensors \ -skip qttools \ -skip qttranslations \ -v

执行脚本,进行编译安装 sudo chmod +x autoConfigure.sh ./autoConfigure.sh make sudo make install

4.查看 linux_aarch64 目录

至此按理说 qt 模块除了 skip 的几个应该都编译成功,但是查看时并没有发现 qtvirtualkeyboard 相关的文件,且在configure 阶段就没有配置出来。

于是决定单独编译 qtvirtualkeyboard 模块源码:

单独编译 qtvirtualkeyboard 模块

进入 Qt 源码目录,找到 qtvirtualkeyboard 文件夹进去

执行 :没有特意指明编译后的文件路径,因此会放在系统设置的默认Qt版本目录下

qmake qtvirtualkeyboard.pro make sudo make install

过程中会报错,有关于 QtGUI 和 QtCore 的, 原因是 qtvirtualkeyboard 源码调用依赖到这两个模块的头文件,但是前文提到系统自带的 Qt 缺少一些库(文件,文件夹),因此编译源码时会报错。 (推测前面编译整个 Qt 源码时没有编译出 qtvirtualkeyboard 模块也是因为依赖的库文件不存在,因此跳过了)

移动第一阶段编译 Qt 源码后的两个模块的相关private文件 sudo cp -r /home/hannah/Public/qt5/qt5.12.8-1/linux_aarch64/include/QtGui/5.12.8 /usr/include/aarch64-linux-gnu/qt5/QtGui/ sudo cp -r /home/hannah/Public/qt5/qt5.12.8-1/linux_aarch64/include/QtCore/5.12.8/ /usr/include/aarch64-linux-gnu/qt5/QtCore/ 重复步骤2命令,编译安装成功!
标签:

【Qt】之【Linux】Qt5.12.8单独编译qtvirtualkeyboard模块源码由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【Qt】之【Linux】Qt5.12.8单独编译qtvirtualkeyboard模块源码