嵌入式Qtwebkit移植

本文详细介绍了如何从源码编译Qt 4.8.5并将其部署到ARM架构的开发板上。主要内容包括下载源码、配置编译参数、解决依赖库问题等关键步骤。

具体步骤如下:

    1、下载源码包,包名为:Qt libraries 4.8.5 for Linux/X11 (230 MB) ,下载路径如下:

        http://qt-project.org/downloads

    2、解压

      将压缩包拷贝到 linux 系统中的任意目录下,然后进行解压,解压命令:

        tar -zxvf  qt-everywhere-opensource-src-4.8.5.tar.gz

    然后

     cd   qt-everywhere-opensource-src-4.8.5 

    进入解压后的目录。

   3、 配置编译参数,编译:

        ./configure -embedded arm-gnueabi -xplatform qws/linux-arm-gnueabi-g++ -no-cups -no-stl -no-qvfb  -no-pch -webkit

     记得要加 -no-pch,因为我第一次make的时候,就出现了找不到与pch相关文件的错误,加上后就好了。

      完成后,

       make

    4、编译完成后生成可执行文件

   

    可执行文件所在路径为:/qt-everywhere-opensource-src-4.8.5/demos/browser

   5、将虚拟机中的文件夹挂载到开发板中

        ~ # mount -t nfs -o nolock 192.168.0.2:/width/app /mnt

        主机ip:192.168.0.2

        将主机中的/width/app 文件夹挂载到开发板的/mnt目录下

   6、运行可执行文件

      进入可执行文件的目录,执行运行命令: 

      ./browser -qws

     出现缺少库文件的问题,怀疑是某个配置文件没有配置好,但修改.bashrc文件后还是不起作用,

    于是将可执行文件,移至 

     /qt-everywhere-opensource-src-4.8.5/lib 库目录下,再执行./browser -qws,出现找不到字符库的问题。

     但是在虚拟机中明明有该库,后来参考资料才知道需要将该库移动到开发板中。移动后的目录路径为:

    /usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib/fonts 

    然后执行:./browser -qws 

    运行成功,开发板中显示浏览器。

 

参考资料:

1、http://blog.youkuaiyun.com/croop520/article/details/7453511

2、http://hi.baidu.com/tigerlau225/item/440de456f8aea8c39f266716

    

### 三级标题:移植 Qt 应用程序到嵌入式 Linux 平台的步骤 在嵌入式 Linux 平台上移植和运行 Qt 应用程序,通常需要完成以下几个关键步骤: #### 配置嵌入式开发环境 首先,确保目标嵌入式平台具备运行 Qt 的基本条件。推荐使用 Buildroot 或 Yocto 构建根文件系统,这样可以方便地集成 Qt 库和其他依赖项。进入 Buildroot 目录后,使用 `make menuconfig` 进入配置界面,选择 Qt 相关选项以将其包含在最终生成的根文件系统中。 #### 交叉编译 Qt 库 为了使 Qt 应用程序能够在目标硬件上运行,需要为该硬件架构交叉编译 Qt 库。这通常涉及到设置正确的交叉编译工具链路径,并指定目标设备类型。例如,在配置 Qt 时可以使用如下命令: ```bash mkdir qt5-build cd qt5-build ../qt5/configure -release -opengl es2 -device imx6 -device-option CROSS_COMPILE=/path/to/your/toolchain/bin/arm-poky-linux-gnueabi- -sysroot /path/to/yocto/sysroots/cortexa9hf-neon-poky-linux-gnueabi -prefix /usr/local/qt5 -hostprefix /usr/local/qt5-host -opensource -confirm-license -nomake examples -nomake tests ``` 此配置命令假设使用的是 i.MX6 设备,并指定了 OpenGL ES 2.0 支持[^4]。 #### 交叉编译 Qt 应用程序 一旦 Qt 库已经为嵌入式平台准备好,接下来就需要使用嵌入式版本的 qmake(如 `qmake-arm`)来重新编译应用程序源代码。这样做可以让应用程序链接到针对目标硬件优化过的 Qt 库。 #### 部署 Qt 应用程序 编译完成后,将生成的应用程序二进制文件以及必要的库文件部署到嵌入式设备上。如果使用了 Buildroot 或 Yocto,则这些文件可能已经被自动包含在构建的镜像中。 #### 运行 Qt 应用程序 最后,在嵌入式设备上启动 Qt 应用程序之前,请确认所有依赖项都已正确安装并且系统环境变量已设置好,以便找到 Qt 的共享库。对于某些特定模块的支持,比如 QtWebKit,还需要确保底层 C 库版本满足要求,例如 uClibc 0.9.29 或更高版本[^2]。 ### 三级标题:注意事项 - 在进行交叉编译时,必须保证主机上的开发工具与目标平台的兼容性。 - 如果应用程序依赖于 SSL/TLS 功能,则需单独安装 OpenSSL Toolkit。 - 内存需求会根据所启用的 Qt 特性和目标架构而变化,因此应仔细评估系统资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值