热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于Qt5.1的webkit

大家好,我在学Qt的时候,想学一下webkit,然后根据文档想显示个网页。代码如下:intmain(intargc,char*argv[]){QApplicationa(a
大家好,我在学Qt的时候,想学一下webkit,然后根据文档想显示个网页。代码如下:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWebView *view = new QWebView();
    view->load(QUrl("http://www.csdn.net"));
    view->show();
    return a.exec();
}


已经加了头文件
#include 
#include 


在pro文件里也加了
QT += core gui webkit webkitwidgets network


结果在编译时出现以下错误
19:41:46: 为项目test1执行步骤 ...
19:41:46: 正在启动 "/opt/Qt5.1.0/5.1.0/gcc/bin/qmake" /home/CentOS/QtProjects/test1/test1.pro -r -spec linux-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug

19:41:46: 进程"/opt/Qt5.1.0/5.1.0/gcc/bin/qmake"正常退出。
19:41:46: 正在启动 "/usr/bin/make" 

g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_QML_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../test1 -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKitWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQuick -I/opt/Qt5.1.0/5.1.0/gcc/include/QtOpenGL -I/opt/Qt5.1.0/5.1.0/gcc/include/QtPrintSupport -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQml -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKit -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtSensors -I/opt/Qt5.1.0/5.1.0/gcc/include/QtNetwork -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. -o main.o ../test1/main.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_QML_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../test1 -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKitWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQuick -I/opt/Qt5.1.0/5.1.0/gcc/include/QtOpenGL -I/opt/Qt5.1.0/5.1.0/gcc/include/QtPrintSupport -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQml -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKit -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtSensors -I/opt/Qt5.1.0/5.1.0/gcc/include/QtNetwork -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. -o mainwindow.o ../test1/mainwindow.cpp
/opt/Qt5.1.0//5.1.0/gcc/bin/moc -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_QML_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../test1 -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKitWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQuick -I/opt/Qt5.1.0/5.1.0/gcc/include/QtOpenGL -I/opt/Qt5.1.0/5.1.0/gcc/include/QtPrintSupport -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQml -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKit -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtSensors -I/opt/Qt5.1.0/5.1.0/gcc/include/QtNetwork -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. ../test1/mainwindow.h -o moc_mainwindow.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_QML_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../test1 -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKitWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQuick -I/opt/Qt5.1.0/5.1.0/gcc/include/QtOpenGL -I/opt/Qt5.1.0/5.1.0/gcc/include/QtPrintSupport -I/opt/Qt5.1.0/5.1.0/gcc/include/QtQml -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWebKit -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtSensors -I/opt/Qt5.1.0/5.1.0/gcc/include/QtNetwork -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. -o moc_mainwindow.o moc_mainwindow.cpp
g++ -Wl,-rpath,/opt/Qt5.1.0/5.1.0/gcc -Wl,-rpath,/opt/Qt5.1.0/5.1.0/gcc/lib -Wl,-rpath-link,/opt/Qt5.1.0/5.1.0/gcc/lib -o test1 main.o mainwindow.o moc_mainwindow.o   -L/opt/Qt5.1.0//5.1.0/gcc/lib -lQt5WebKitWidgets -lQt5Quick -lQt5OpenGL -lQt5PrintSupport -lQt5Qml -lQt5WebKit -lQt5Widgets -lQt5Sensors -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread 

/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `g_variant_ref'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `gst_x_overlay_set_window_handle'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `gst_query_parse_nth_buffering_range'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `g_variant_unref'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `gst_element_link_pads_full'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `gst_is_initialized'
/opt/Qt5.1.0//5.1.0/gcc/lib/libQt5WebKit.so: undefined reference to `gst_query_get_n_buffering_ranges'

collect2: ld returned 1 exit status
make: *** [test1] Error 1
19:41:53: 进程"/usr/bin/make"退出,退出代码 2 。
Error while building/deploying project test1 (kit: Desktop Qt 5.1.0 GCC 32bit)
当执行步骤 'Make'时
19:41:53: Elapsed time: 00:07.


请问这是怎么回事呢?

17 个解决方案

#1


pro 文件

#-------------------------------------------------
#
# Project created by QtCreator 2013-10-14T22:18:36
#
#-------------------------------------------------

QT       += core gui webkit webkitwidgets network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = testWebit
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui



main.cpp 

#include "mainwindow.h"
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWebView view ;
    view.load(QUrl("http://www.csdn.net"));
    view.show();
    
    return a.exec();
}


编译成功,效果图如下:

#2


我也碰到这个问题,楼主解决了吗?

#3


请注意,Qt5中的模块化!
参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101endy.html

#4


貌似是跟Linux发行版有关,我在CentOS6.4上遇到同样的问题,搜了Google也没什么解决方案,有人在qt-project.org的论坛上提了这问题也没人回复。
在其他发行版上,比如Debian Wheezy就没这问题。

#5


引用 1 楼 jyd30 的回复:
pro 文件

#-------------------------------------------------
#
# Project created by QtCreator 2013-10-14T22:18:36
#
#-------------------------------------------------

QT       += core gui webkit webkitwidgets network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = testWebit
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui



main.cpp 

#include "mainwindow.h"
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWebView view ;
    view.load(QUrl("http://www.csdn.net"));
    view.show();
    
    return a.exec();
}


编译成功,效果图如下:



不行哦,还是那个错误。我的是CentOS 6.4,你的是什么系统?

#6


引用 4 楼 missdeer 的回复:
貌似是跟Linux发行版有关,我在CentOS6.4上遇到同样的问题,搜了Google也没什么解决方案,有人在qt-project.org的论坛上提了这问题也没人回复。
在其他发行版上,比如Debian Wheezy就没这问题。


对,我的系统就是CentOS 6.4,不知到怎么解决!

#7


引用 2 楼 Grubbysfans 的回复:
我也碰到这个问题,楼主解决了吗?


还没解决,纠结。代码在windows下运行没问题,估计真的跟CentOS有关。

#8


同问 ,我也遇到这个问题 ,centos 6.5,qt5.1.1,请问解决了吗 ?怎么解决的呢?

#9


貌似是操作系统的gtk原因。

#10


引用 8 楼 byron1655 的回复:
同问 ,我也遇到这个问题 ,centos 6.5,qt5.1.1,请问解决了吗 ?怎么解决的呢?


没解决。系统换成Ubuntu就顺利多了。

#11


我最近想用qtwebkit显示一个网页内容,也是遇上楼主的问题,环境是rhel6.4和qt5.1,查了很多资料,感觉把qtwebkit需要的软件包都装上了,还是出错!有没有大师来解决下啊!

#12


今天把RHEL6.4的gcc从4.4.7升级到4.8.1解决了下面这个问题:
/home/lison/Qt5.1.1/5.1.1/gcc/lib/libQt5WebKit.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'

其他问题还没搞清楚原因,明天准备把GLIBC库从2.12升级到2.17或2.19,看看能不能解决问题!

#13


今天将GLIBC库成功从2.12升级到2.19,Qt5编译时,“g_”开头的错误都没有了。

明天编译gstramer库,不过要升级gst库,还需要升级glib2。

#14


你好,请问这个问题你是否已经解决???我这里用ubuntu10.10安装QT5.1.0,运行webkitwidgets的例子也出现了这种情况。

#15


问题已解决了,就是我上面说的原因,需要将系统的gcc升级到gcc-4.8.1以上,glibc-2.17以上,glib2.36以上,编译安装gstreamer0.10.36和gst-plugins-base-0.10.36,并且修改相应环境变量,在QT5创建的工程pro文件里加上gstreamer0.10.36、gst-plugins-base-0.10.36库的lib和include地址,然后就OK了!

#16


fengyuan_csdn    留个QQ号找你帮忙。

#17


该回复于2014-12-02 09:09:53被管理员删除

推荐阅读
author-avatar
家宇珮禎忠全
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有