Ubuntu14.04的Qt版本为5.2.1,16.04的Qt版本为5.5.1,高版本Qt库可以向下兼容运行低版本工具链编译的程序,因此这里选用5.2.1版本作为编译工具链。
进入Qt工程目录中,目录下会有个<工程名>.pro文件,如果目录中存在<工程名>.pro.user文件,是之前qtcreator生成的配置文件,请先删除。然后运行:
即可完成编译,编译好的程序可以放到树莓派上直接运行。
另外,工程的配置可以通过修改 工程名.pro文件,例如添加链接库,只需要在文件中添加如下选项:
添加c99支持:QMAKE_CFLAGS += -std=c99
?为此我写下我在工作中的一点小经验,希望对曾经像我一样困惑的新手们有点帮助,同时也希望能得到大家的指正,
首先得把我们在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了,一个可以在您的板子上可以运行的二进制文件产生了。
至于怎样加到qtopia上去呢。。。待续。。。。。。。。。。。。。。
1.设置环境变量:PATH=添加为交叉环境下编译后生成的qmake路径,通常和主机的系统是一种架构,同时需要确保交叉gcc编译器在在PATH定义QMAKESOEC=交叉编译的对象的的平台描述文件,例如makespec/qws/linux-arm-g++QTDIR=Qt的安装文件,存放这库和头文件LD_LIBRARY_PATH=存放的是Qt的交叉编译后的库,准备为目标编译链接的库2。执行环境变量通常我们都会将以上的设置放置在一个bash脚本中,需要的时候就执行一下。开始编译1.使用qmake -project来生成项目文件****.pro2使用qmake来生成Makefile文件3使用make来编译移植:使用readeif工具来分析目标系统的以来库,然后copy相关的库到目标文件系统内。通常我们也是采取脚本的方式来完成。一般而言,凡是有规律的或者重复性的工作,我们都可以采取脚本的方式来解决。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)