麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12
<div class="cl-preview-section"><h1>前言</h1>
</div>
<div class="cl-preview-section">
<p> 上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码。</p>
</div>
<div class="cl-preview-section"> </div>
<div class="cl-preview-section">
<h1>银河麒麟V4版本</h1>
</div>
<div class="cl-preview-section">
<p> 系统版本:<br><img src="https://img-blog.csdnimg.cn/6feefcf877654000b92e147cfb66bbe6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"></p>
</div>
<div class="cl-preview-section"> </div>
<div class="cl-preview-section">
<h1>Qt源码下载</h1>
</div>
<div class="cl-preview-section">
<p> 参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》<br> 需要哪个版本下哪个版本,笔者经常使用得是Qt5.9和Qt5.12两个大版本,本次下载Qt5.12.7:<br>&emep; <img src="https://img-blog.csdnimg.cn/2453059e52d3427e8e87037dea7475a0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> <img src="https://img-blog.csdnimg.cn/8fc97cd3acae4f02872173adbd5fbede.png"><br> 由于是自己编译的,我们一般在可以安装Qt版本的时候使用Qt安装版本的QtCreator,但是在本篇文章,我们使用QtCreator也从源码编译,用以补全完全从源码编译搭建环境。<br> Qt5.12使用的QtCreator4.8.1,也下载QtCreator4.8.1版本的源码:<br> <img src="https://img-blog.csdnimg.cn/3bf8b37da8df4ae7b609a4e4f5bf7a95.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"></p>
</div>
<div class="cl-preview-section"> </div>
<div class="cl-preview-section">
<h1>在V4上测试Qt官方安装包</h1>
</div>
<div class="cl-preview-section">
<p> 通过以下测试,是可以直接安装的,正常情况下我们是建议直接安装的,需要自定义或者配置一些模块可能需要涉及到编译源码,那么就可以自行编译qt源码。<br> <img src="https://img-blog.csdnimg.cn/008c3f6408014f9b877abcb9c1beb9dd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> <img src="https://img-blog.csdnimg.cn/8c07d6531b484869be95ea0522a2ef8b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> <img src="https://img-blog.csdnimg.cn/e9597305e18f4404aa50106e652be18b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"></p>
</div>
<div class="cl-preview-section"> </div>
<div class="cl-preview-section">
<h1>Qt从源码编译安装</h1>
</div>
<div class="cl-preview-section">
<h2>步骤一:下载解压</h2>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/841fec0192e54af294e2cdb35e23866c.png"></p>
</div>
<div class="cl-preview-section">
<h2>步骤二:配置Qt</h2>
</div>
<div class="cl-preview-section">
<p> 调整当前目录:</p>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell"><span class="token builtin class-name">cd /home/yang/work/src/qt-everywhere-src-5.12.7
</span></code></pre>
</div>
<div class="cl-preview-section">
<p> 然后配置:</p>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell">./configure -prefix /home/yang/work/qt5.12.7 <span class="token punctuation">\
-release <span class="token punctuation">\
-opensource <span class="token punctuation">\
-platform linux-g++ <span class="token punctuation">\
-make libs <span class="token punctuation">\
-optimized-qmake <span class="token punctuation">\
-pch <span class="token punctuation">\
-sqlite <span class="token punctuation">\
-qt-libjpeg <span class="token punctuation">\
-qt-zlib <span class="token punctuation">\
-no-opengl <span class="token punctuation">\
-skip qt3d <span class="token punctuation">\
-skip qtcanvas3d <span class="token punctuation">\
-skip qtpurchasing <span class="token punctuation">\
-no-sse2 <span class="token punctuation">\
-no-openssl <span class="token punctuation">\
-no-cups <span class="token punctuation">\
-no-glib <span class="token punctuation">\
-no-iconv <span class="token punctuation">\
-nomake examples <span class="token punctuation">\
-nomake tools <span class="token punctuation">\
-skip qtvirtualkeyboard <span class="token punctuation">\
-v
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/85004b9073084dd7b39b5cc2755fcb70.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> 输入y,开始配置:<br> <img src="https://img-blog.csdnimg.cn/f95bca427b184e679dcb87da61e367db.png"><br> 此时,sqlite是由问题的,不能make,所以修改下配置问及爱你,去掉-sqlite,如下:</p>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell">./configure -prefix /home/yang/work/qt5.12.7 <span class="token punctuation">\
-release <span class="token punctuation">\
-opensource <span class="token punctuation">\
-platform linux-g++ <span class="token punctuation">\
-make libs <span class="token punctuation">\
-optimized-qmake <span class="token punctuation">\
-pch <span class="token punctuation">\
-qt-libjpeg <span class="token punctuation">\
-qt-zlib <span class="token punctuation">\
-no-opengl <span class="token punctuation">\
-skip qt3d <span class="token punctuation">\
-skip qtcanvas3d <span class="token punctuation">\
-skip qtpurchasing <span class="token punctuation">\
-no-sse2 <span class="token punctuation">\
-no-openssl <span class="token punctuation">\
-no-cups <span class="token punctuation">\
-no-glib <span class="token punctuation">\
-no-iconv <span class="token punctuation">\
-nomake examples <span class="token punctuation">\
-nomake tools <span class="token punctuation">\
-skip qtvirtualkeyboard <span class="token punctuation">\
-v
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/cfd2f1472b8c4561a3ff4a73bf7ad259.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> <img src="https://img-blog.csdnimg.cn/bcc6fd61533d4fff9c17033120a7d249.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"></p>
</div>
<div class="cl-preview-section">
<h2>步骤三:编译Qt源码</h2>
</div>
<div class="cl-preview-section">
<p> 根据多年经验,这是个至少长达半小时的过程…</p>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell"><span class="token function">make -j8
</span></code></pre>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/cc6a71f74b6b4b5b9df3d1b9fdb903df.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> 编译完成后,如下图:<br> <img src="https://img-blog.csdnimg.cn/6ceecddd507a4060b3d5a6aadde9a9be.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"><br> 再make,多线程编译的时候Qt有时候有前后依赖,挂了一个线程我们也是看不到的(一下就闪过了)。</p>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell"><span class="token function">make
</span></code></pre>
</div>
<div class="cl-preview-section">
<p> 如下图:<br> <img src="https://img-blog.csdnimg.cn/3fa34495158841de83bea8935cc043f2.png"></p>
</div>
<div class="cl-preview-section">
<h2>步骤四:安装make install</h2>
</div>
<div class="cl-preview-section">
<pre><code class="prism language-shell"><span class="token function">make <span class="token function">install
</span></span></code></pre>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/ca7bc8ab984741f489ef2b4aa834d30b.png"></p>
</div>
<div class="cl-preview-section">
<h2>步骤五:检查Qt使用qmake</h2>
</div>
<div class="cl-preview-section">
<p> <img src="https://img-blog.csdnimg.cn/26d6f4738a7c4d9584f54fb4fa65bc6d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ57qi6IOW5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16"></p>
</div><br><br>
来源:https://www.cnblogs.com/qq21497936/p/16102172.html
頁:
[1]