打印
[应用方案]

Qt Webkit 浏览器交叉编译

[复制链接]
1378|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yiyigirl2014|  楼主 | 2016-9-24 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

先编译opensource的qt包,比如qt-everywhere-opensource-src-4.7.4.tar.gz,

注意在configure的时候不要加-no-webkit,否则生成不了libQtWebKit.so

OK, 接下来开工,假如qt的目录在/home/yourname/qt目录下,

你的工作目录是/home/yourname/qtbrowser,

在qtbrowser下写一个main.cpp如下:




#include <QtGui>
#include <QtWebKit>
#include<QWSServer>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWebView view;

    view.setGeometry(0,0,720,576);
    view.load(QUrl("http://www.google.com"));
    view.show();
   
    return app.exec();
}



沙发
yiyigirl2014|  楼主 | 2016-9-24 16:16 | 只看该作者

然后进入qtbrowser目录, 设置如下环境变量:

export QTDIR=/home/yourname/qt
export QTINC=$QTDIR/include
export QTLIB=$QTDIR/lib
export PATH=<your toolchain path>/bin:$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTLIB:$LD_LIBRARY_PATH


下面语句会用/home/yourname/qt/bin目录下的qmake生成.pro文件

qmake -project


生成.pro后,需要做如下修改,让编译时找到对应头文件

INCLUDEPATH += /home/yourname/qt/include /home/yourname/qt/include/QtGui /home/yourname/qt/include/QtWebKit /home/yourname/qt/include/QtCore

添加如下语句,让找到链接时的库文件

LIBS += -L/home/yourname/qt/lib -lQtWebKit


接下来,就可以生成Makefile了

qmake -spec $QTDIR/mkspecs/qws/<toolchain prefix>-g++

这里用-spec来指定交叉编译工具,让Makefile的CXX, LINK为交叉编译命令,比如

arm-linux-gnueabi-g++.


生成了Makefile后,然后

make

就会生成浏览器的可执行文件了,你可以下载或者mount到目标板上去跑了。


注意跑之前要在目标板上配置好LD_LIBRARY_PATH, 以及字库文件的路径。

最后./qtbrowser -qws

要加上-qws, 让该进程以server态跑, 否则会出错:

QWSSocket::connectToLocalFile could not connect:: Connection refused


使用特权

评论回复
板凳
yiyigirl2014|  楼主 | 2016-9-24 21:45 | 只看该作者
看起来还是好简单的,只知道QT做的项目兼容性超强。

使用特权

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

本版积分规则

213

主题

3545

帖子

10

粉丝