• 8902阅读
  • 3回复

[提问]用ARM交叉编译器编译带QWebView的控件会出现这样的错误提示? [复制链接]

上一主题 下一主题
离线xiang8000
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-14
我在工程文件中加入了QT +=webkit,然后在PC中编译顺利通过,并且执行程序显示网页正常,然后将工程用交叉编译器编译,编译途中出现这个错误提示:
怎么回事?看样子有点像环境变量没找到,但是同路径下的其他头文件都找到了的,唯独这个就找不到,怎么个情况?
main.cpp:4:22: error: qwebview.h: No such file or directory
main.cpp:19: error: ISO C++ forbids declaration of 'QWebView' with no type
main.cpp:19: error: expected ';' before '*' token
main.cpp: In constructor 'a::a()':
main.cpp:13: error: 'w' was not declared in this scope
main.cpp:13: error: expected type-specifier before 'QWebView'
main.cpp:13: error: expected `;' before 'QWebView'
main.cpp: In function 'int main(int, char**)':
main.cpp:26: error: 'class a' has no member named 'w'
make: *** [main.o] 错误 1

这是我的代码:就这么一点点测试用
************main.cpp***************
#include <QApplication>
#include <QDialog>
#include <QGridLayout>
#include <qwebview.h>  //即使换成 #include <QWebView> 也会提示一样的错误
#include <QUrl>

class a:public QDialog
{
public:
  a()
  {
      l=new QGridLayout(this);
      w=new QWebView;  //就这里,该死的这句交叉编译出错
      w->setUrl(QUrl("http://www.baidu.com"));
  }
public:
    int x;
    QGridLayout *l;
    QWebView *w;
};

int main(int args,char *argv[])
{
    QApplication app(args,argv);
    a aa;
    aa.l->addWidget(aa.w);
    aa.show();
    return app.exec();
}

************net.pro***************
QT += webkit
SOURCES += \
    main.cpp

FORMS +=

HEADERS +=


*******
难道是对QT4.7的交叉编译所使用的编译参数里面没有包含对 QtWebKit,QWebView,QtWebKit/QWebView 的目标文件生成?

因为我看到编译出来的QT4.7的include文件里面没有这几个类的文件夹,怎么办呢?
如果想生成这几个ARM平台的目标文件需要添加哪些参数呢?
这是我编译4.7.0所使用的参数

./configure -prefix /opt -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia  -no-svg -no-webkit -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I /opt/tslib/include  -L /opt/tslib/lib
离线wlzxlc
只看该作者 1楼 发表于: 2011-04-17
我在做一个ARM平台的谷歌地图导航,和你一样的,你看一下QTEDIR/include中有没有QWebkit 如果没有,在配置的时候参数如下。
./configure -prefix /opt -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia  -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform -webkit  qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I /opt/tslib/include  -L /opt/tslib/lib
离线shihaoliu
只看该作者 2楼 发表于: 2011-05-06
Hi:
   可以请教下你是怎么安装qt-embedded的吗。我用qt-everywhere-opensource-src-4.7.2安装qt-embedded,安装后怎么让例程在开发板上运行呢,是把qt-embedded目录下的东西都拷到开发板的文件系统吗?
   谢谢。
离线zhw_mag
只看该作者 3楼 发表于: 2012-06-08
-no-webkit   是因为这个吧~
快速回复
限100 字节
 
上一个 下一个