打印

QT程序移植成功经验分享

[复制链接]
211|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电员师|  楼主 | 2018-9-1 09:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:搭建好交叉编译环境arm-linux-gcc-4.3.2.

第二步:交叉编译用于将QT代码编译为ARM平台上的可执行文件的库文件,复制qt-everywhere-opensource-src-4.7.1.tar.gz到/home/liu下面,解压出来,该文件夹下面build-all为编译脚本,qt-everywhere-opensource-src-4.7.1.tar.gz为源码包,打开终端,切换到/home/liu/qt-everywhere-opensource-src-4.7.1目录,执行编译脚本./build-all开始编译,大概两三个小时编译完成,此时会自动在/opt/下面生成文件夹qt-4.7.1,同时在当前目录生成qt-everywhere-opensource-src-4.7.1文件夹,该文件夹下的demo目录为示例,可以直接拷贝到开发板运行.

第三步:设置QT的编译环境,如果没有设置的话,每次都需要/opt/qt-4.7.1/bin/qmake 来编译程序,默认安装了qt-sdk-linux-x86-opensource-2010.05.1.bin后默认用的qmake是用来编译linux下程序用的,而不是嵌入式linux下的,需要重新设置环境变量,打开/etc/profile文件,最后添加

export PATH="/opt/qt-4.7.1/bin:$PATH"

这样的话qmake -v可以看到当前qmake为/opt/qt-4.7.1下面的.

第四步:测试窗口程序main.cpp

#include <QApplication>

#include <QLabel>



int main(int argc, char *argv[])

{

        QApplication a(argc,argv);

        QLabel *label=new QLabel("hello!!!");

        label->setGeometry(10,10,200,80);

        label->setVisible(true);

        label->show();



        return a.exec();

}

保存到/home/liu/hello/下

打开终端,cd /home/liu/hello切换到hello目录

执行qmake -project,此时生成了hello.pro文件

执行qmake,此时生成了Makefile文件

执行make,此时生成了hello可执行文件

可以通过命令file /home/liu/hello/hello来查看可执行文件的运行环境,出现for GNU/Linux 2.6.14字样,说明可以运行在linux2.16.14内核版本的嵌入式linux系统上

第五步:拷贝hello到/bin目录下,赋予可执行文件权限chmod 777 hello

./hello

看到了吧,出来咯!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

471

主题

480

帖子

0

粉丝