buildroot成功后如何编译Qt应用程序

buildroot成功后如何编译Qt应用程序,第1张

首先得把我们在X86机上调好的程序进行交叉编译,如果在X86上都没有通过的话。。那就不用交叉编译了,(肯定是通不过的),还是到正题吧,设置好环境变量,我们用以用echo 来查看环境变量,echo $TMAKEPATH ,如果返回的不是.../qws/linux-arm-g++ 的字符的话,我们一定得从新设置,

export TMAKEPATH=/tmake 的安装路径/qws/linux-arm-g++ ,同时QTDIR一定得要指定QTE的安装路径,设置过程如下:

export QTDIR=...../qt-2.3.7

以上环境设置好后,我们可以使用tmake来生成Makefile,注意这里我们是用tmake,而不是用qmake(注意),tmake工具在tmake包里面。 具体做法,我们可以在命令行下打:

tmake -o Makefile 工程名.pro

这样我们就新生成了一个Makefile文件,下一步,我们要打开这个文件,做一些小的修改

1: 将LINK=arm-linux-gcc 改为:LINK=arm-linux-g++

2:将LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte这句话改为:

LIBS=$(SUBLIBS) -L/opt/gcc-2.3.2-glibc-3.3.2/lib -L$(QTDIR)/lib -lm -lqte

加上你的交叉编译的库。

最后我们可以make了,一个可以在您的板子上可以运行的二进制文件产生了。linux

1、在Linux下的命令行编辑程序:

[root@localhost root]# mkdir hello

//mkdir命令创建一个hello目录

[root@localhost root]# cd hello

//cd命令切换到刚才创建的hello目录

[root@localhost hello]# vi main.cpp

//在hello目录中用vi创建一个main.cpp文件 将下面的代码输入到main.cpp文件中

#include <QApplication>

#include <QLabel>

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

{

QApplication app(argc,argv)

QLabel *label = new QLabel(“Hello Qt”)

Label->show()

return app.exec()

}

2、然后在命令行编译程序:

[root@localhost hello]# qmake –project

//执行qmake –project,因为目录是hello,因此在hello目录下生成一个与平台无关的项目文件hello.pro,

[root@localhost hello]# qmake hello.pro

//执行qmake hello.pro项目文件后,在hello目录下生成一个与平台有关的Makefile文件。

[root@localhost hello]# make

//执行make进行编译源代码,并生成main.o目标文件及hello执行文件。

[root@localhost hello]# ./hello

//执行hello,就会d出Hello Qt窗口,到此说明成功了。

以下是编译QT源码的基本步骤:

1.源代码的获取 , 最新的是4.8.2版本。

2.解压代码

输入指令: tar zxvf qt-everywhere-opensource-src-4.8.2.tar.gz,解压出QT源代码。

3.执行./config生成makefile

输入指令: ./config

下面会出现提示,是使用the Commercial Edition还是Open Source Edition。

选择”o”,接着会出现一些提示关于license的信息,选择”yes”。

4.编译QT

等在Ubuntu中顺利下载了缺失的那3个lib后。再次重复第三步的 ./configure指令。

输入指令: make,

然后便可以顺利地生成Makefile文件。

5.安装QT

运行指令: sudo make install,需要几分钟的时间,系统会默认将Qt安装到目录:/usr/local/Trolltech/Qt-4.8.2。

验证安装完成:运行/usr/local/Trolltech/Qt-4.8.2/bin/designer,如果能够正常启动designer,则说明Qt已经安装好了。

6.设置环境变量

7.测试环境变量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12012660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存