使用QT实现DREAM:Building on Linux for Android

在Ubuntu系统下运用QT编译Android程序DREAM。因为自己在做这个程序时犯了许多低级错误,可能很多初学QT 的朋友也会出现这样的问题。目前我的程序已经基本编译好了,在这里做下总结,本文记录了我在这次编译过程中的步骤,并附上截图,初学者应该可以参考我的步骤进行练习。我也是新手练习,里面可能存在一些错误,希望大家看后指点

准备工作:

android

   sdk

   ndk

QT

DREAM 源码下载:

相关库下载:

QWT

fftw


QT的影子构建:

说明中这样写的:

Qtcreator uses shadow builds by default. To keep the cross-compiled libraries separate from anything else, they should be installed in the build directory. This involves a two step process of running qmake in qtcreator to make the build directory, installing the libraries and then running qmake again.

我的理解是这样的,首先,要生成构建路径,然后在路径中将库安装进去,重新构建,加载库文件,然后就结束了


下面就动手吧

第一步,生成构建路径

我是将dream解压放在/usr/src目录下的

tar xvf dream-2.1.1-svn808.tar.gz

运行QTcreator,环境变量设置好以后,直接在终端输入命令qtcreator即可

选择open project,路径/usr/src/dream,选择dream.pro

进行配置


注意此时我的build directory:

/usr/src/build-dream-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_0-Debug
之后的库文件是需要安装在这里的。配置完成。
构建——>执行qmake
查看/usr/src/目录,已经生成了
/usr/src/build-dream-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_0-Debug

我们可以看看此时已经生成的目录中是没有需要添加的库文件的,下一步就是要将需要添加的fftw库,QWT库进行安装配置

第二步,安装库
根据指导,对于库的安装分成两中
(1)编译automake-style libraries on linux
首先配置临时环境变量
(注意我的是32位系统,所以设置BUILD_ARCH=linux-x86,如果是64位系统则BUILD_ARCH=linux-x86_64)
export BUILD_ARCH=linux-x86 export API_LEVEL=android-15 export ANDROID_NDK_ROOT=/opt/android/ndk export BUILD_DIR=/usr/src/build-dream-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_0-Debug export PATH=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/$BUILD_ARCH/bin:$PATH export SYSROOT=$ANDROID_NDK_ROOT/platforms/$API_LEVEL/arch-arm
 
查看环境变量是否配置成功:
在终端输入
env |grep BUILD_ARCH,其他类似

安装fftw-3库
进入解压好的fftw-3.3.3

 ./configure --host=arm-linux-androideabi CFLAGS=--sysroot=$SYSROOT --prefix=$BUILD_DIR
 make
 make install

查看库是否已经编译在指定地方
root@yu:/usr/src/build-dream-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_0-Debug/include# ls
fftw3.f  fftw3.f03  fftw3.h  fftw3l.f03  fftw3q.f03

root@yu:/usr/src/build-dream-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_0-Debug/lib# ls
libfftw3.a  libfftw3.la  pkgconfig

(2)编译QWT
进入解压好的qwt-6.1.0目录,dream是要编译成安卓应用的,里面不需要designer模块。在目录中有INSTALL等安装说明,我们可以修改qwt.pri,修改编译时的配置,不编译的designer模块。

执行qmake
 /opt/Qt/5.2.0/android_armv7/bin/qmake
 make

这里也可以使用qtcreator进行编译,用qtcreator打开qwt.pro。配置。构建->清理所有项目->执行qmake->重新构建qwt.
进入qwt构建目录,make install
网上有的文章中在qwt.pro结尾添加了:
INCLUDEPATH +=/usr/local/qwt-6.1.0/include
LIBS +=-L"/usr/local/qwt-6.1.0/lib" -lqwt

我也模仿了
之后就是将库文件拷贝到对应位置
 mkdir -p $BUILD_DIR/include/qwt
 cp src/*.h $BUILD_DIR/include/qwt
 mkdir -p $BUILD_DIR/lib
 mv lib/* $BUILD_DIR/lib

第三步:在qtcreator中重新执行qmake,构建运行






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值