在线问答
直播中

杨永胜

11年用户 2379经验值
擅长:嵌入式技术
私信 关注

【OK210试用体验】+第十四篇☞主机linxu下qt编译环境的搭建

本帖最后由 iysheng 于 2015-9-15 17:05 编辑

qt环境的搭建,挺痛苦的,主要原因是qt有很多的版本,刚开始的时候,我对这些版本都很迷茫。本次,我最后使用的是如下两个版本:
qt-x11-opensource-src-4.5.3.tar.gz(X11版本)
qt-embedded-linux-opensource-src-4.5.3.tar.gz(嵌入式版本)这个版本的很重要,因为需要编译两次。(第一次在编译针对的是主机版本,另一次编译属于交叉编译)
中间我试过高版本的qt,例如:qt-everywhere-opensource-src-4.8.6.tar.gz  qt-everywhere-opensource-src-5.4.2.tar.gz(qt-opensource-linux-x86-5.4.2.run) 结果,都没有成功,主要原因是我使用的是Feodra10,我的gcc编译器版本太低了,编译高版本的qt会出现一些语法错误或者库版本低的提示,本次只是截取了一部分错误如下图: install0.png
最后还是在4.5.3版本上面安装成功了,安装之前,需要安装一些必备的模块(libx11-dev,libxext-dev ,libxtst-dev),如下:
qtin.png

这次截图,只是举一个例子,并没有把每次安装都截图。
安装完一些必要的模块之后,就要开始配置,编译,安装qt了。
  • 安装X11版
    解压qt-x11-opensource-src-4.5.3.tar.gz,进入解压目录,进行配置:./configure --prefix=/usr/qt(更改安装目录)

经过顺利配置后,执行gmake(经过漫长的等待,我等了将近两个小时),执行gmake install,最后就完成了。X11版已经安装到/usr/qt目录下了,如下图:
make install.PNG

由于嵌入式开发,还需要qvfb(虚拟帧缓存),所以进入tools/qvfb目录,执行make然后将生成的qvfb,放到PATH环境变量可以找到的地方,就完成了。
编译安装qvfb的时候如下图:
qvfb.PNG

顺利安装完成之后,就可以运行qvfb了,如下图:
qvfb1.PNG

说明,X11版本的顺利安装完成了。
    2。安装嵌入式版本的qt
同样解压qt-embedded-linux-opensource-src-4.5.3.tar.gz,进行第一遍配置,编译,安装。

配置的时候:./configure --prefix=/usr/qte -qvfb(这样才能支持qvfb)这次配置的时候,我截了一个图,如下:
qteconfig.PNG

配置完成后进行编译gmake(也是将近两个小时,,,)
最后安装gmake install
然后,我们可以测试一下,安装是否顺利成功:
进入/usr/qte/demos/books目录,
执行如下命令:./books -qws
结果如下:
qtbook.PNG

至此,说明,我们顺利安装完了嵌入式qt的PC版,马上就要最后一步了:
3。编译qt的arm版同样在嵌入式版本的解压文件夹内,首先进行清除配置操作:
make coNFClean
接下来就重新开始配置了:
./configure --prefix=/usr/qtarm -embedded arm(声明arm版) -xplatform qws/linux-arm-g++
然后就开始编译了:
gmake
最后完成安装:
gmake install
至此安装部分可以说是结束了,接下来,需要的就是一些配置环境变量的操作。
测试:
我编写了一个简单的类似helloworld的基本显示程序:helloworld.cpp
  1. #include tion>
  2. #include

  3. int main(int argc, char *argv[])
  4. {
  5.         QApplication app(argc, argv);
  6.         QWidget wdg;
  7.         wdg.setWindowTitle("hello world");
  8.         wdg.show();
  9.         return app.exec();
  10. }

把/usr/qte/bin/加入PATH环境变量中。
执行
qmake -project
qmake
make

生成helloworld可执行文件
运行:./helloworld -qws
结果如下图:
helloworld.PNG

至此,说明环境搭建已经完成了,接下来就是变成实现自己需要的功能了,好像接下来的编程,真的很难啊,,,,,

更多回帖

发帖
×
20
完善资料,
赚取积分