关闭

gtk 应用程序使用内嵌浏览器 gtkmozembed

1146人阅读 评论(2) 收藏 举报

GTK程序中内嵌浏览器


我们使用的是gtkmozembed它由xulrunner提供,这两个东西到底是什么意思,我也不知道。

环境搭建:

用的系统是ubuntu 10.04

sudoapt-get install xulrunner-1.9.2-dev

这一行就够了libxul-dev就默认下载了(应该是,因为在/usr/lib/pkgconfig/下有对应的文件)

还运行过一条,不知道有没有这个必要

sudo apt-get install xulrunner



编译:

添加头文件

#include</usr/include/xulrunner-1.9.2.24/gtkmozembed.h>


链接

链接的时候,添加两个链接选项

QWQ_LIB+= `pkg-config --libs libxul`

QWQ_LIB+= `pkg-config --libs mozilla-js`



运行

运行的时候,会提示找不到库文件:

cd/usr/lib/xulrunner-1.9.2.24

sudo cp libxul.so /usr/lib/

sudo cp libmozjs.so /usr/lib/

sudo cp libxpcom.so /usr/lib/


把这三个库文件拷贝过去就可以了



代码编写:



源文件

#include <gtk/gtk.h>

#include</usr/include/xulrunner-1.9.2.24/gtkmozembed.h>

int main(int argc, char *argv[])

{

gtk_init(&argc,&argv);

GtkWidget *window =gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_set_default_size(GTK_WINDOW(window),640, 480);

g_signal_connect(GTK_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit), NULL);

/* 设置配文件 缓存目录 */

gtk_moz_embed_set_profile_path("/home/qwq/zhihui","mybrowser");

/* xulrunner库文件的位置 不同系统可能会不同*/

gtk_moz_embed_set_path("/usr/lib/xulrunner-1.9.2.24");

GtkWidget *html =gtk_moz_embed_new();

gtk_container_add(GTK_CONTAINER(window),html);


gtk_moz_embed_load_url(GTK_MOZ_EMBED(html),"http://www.126.com/");

gtk_widget_show_all(window);

gtk_main();

return 0;

}


gcc -Wall -g gtkweb.c -o gtkweb`pkg-config --cflags --libs gtk+-2.0 libxul  mozilla-js mozilla-gtkmozembed`

makefile

gtkweb:gtkweb.o

gcc -Wall gtkweb.o -o gtkweb`pkg-config --libs gtk+-2.0 libxul mozilla-js`

gtkweb.o:

gcc -Wall -c gtkweb.c -ogtkweb.o `pkg-config --cflags gtk+-2.0`

c:

rm gtkweb gtkweb.o

r:

./gtkweb




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:85294次
    • 积分:1079
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:104篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论