1015补充:class="tags" href="/tags/UBUNTU.html" title=ubuntu>ubuntu 10下, class="tags" href="/tags/QT.html" title=qt>qt474也存在同样问题。
class="tags" href="/tags/CENTOS.html" title=centos>centos下编译class="tags" href="/tags/QT.html" title=qt>qtclass="tags" href="/tags/WEBKIT.html" title=webkit>webkit。
选用class="tags" href="/tags/QT.html" title=qt>qt-everywhere-opensource-src-4.7.1包。下载地址:ftp://ftp.trolltech.com/class="tags" href="/tags/QT.html" title=qt>qt/source/
编译命令:
./configure --prefix=/usr/local/class="tags" href="/tags/QT.html" title=qt>qt47 -release -opensource -shared -class="tags" href="/tags/WEBKIT.html" title=webkit>webkit -largefile -class="tags" href="/tags/QT.html" title=qt>qt-sql-mysql -no-multimedia -no-class="tags" href="/tags/QT.html" title=qt>qt3support -no-gtkstyle -no-opengl -no-xvideo -nomake examples -nomake demos -nomake docs
./configure --prefix=/opt/class="tags" href="/tags/QT.html" title=qt>qtsdk474 -debug-and-release -opensource -shared -class="tags" href="/tags/WEBKIT.html" title=webkit>webkit -largefile -class="tags" href="/tags/QT.html" title=qt>qt-sql-mysql -no-class="tags" href="/tags/QT.html" title=qt>qt3support -no-gtkstyle -I/opt/local/include/mysql5/mysql -L/opt/local/lib/mysql5/mysql
报错:
../WebKit/class="tags" href="/tags/QT.html" title=qt>qt/Api/qwebpage.cpp:1571: error: class WebCore::EventHandler has no member named handleTouchEvent
定位到 对应文件,修改为:
class="language-cpp"> 1564 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
1565 void QWebPagePrivate::touchEvent(QTouchEvent* event)
1566 {
1567 //add by alex
1568 #if ENABLE(TOUCH_EVENTS)
1569 //end add.
1570 WebCore::Frame* frame = QWebFramePrivate::core(mainFrame);
1571 if (!frame->view())
1572 return;
1573
1574 bool accepted = frame->eventHandler()->handleTouchEvent(PlatformTouchEvent(event));
1575 event->setAccepted(accepted);
1576 //add by alex
1577 #else
1578 event->ignore();
1579 return;
1580 #endif
1581 //end add.
1582 }
1583 #endif
即 加上 判断: if ENABLE(TOUCH_EVENTS)
对应的Diff 看这里: DIFF
class="tags" href="/tags/WEBKIT.html" title=webkit>webkit bugzilla 的解释为: The call to ignore() is mandatory because touch event are accepted by default.