C 未定义引用,WebKitGTK

C 未定义引用,WebKitGTK,c,gtk,webkitgtk,C,Gtk,Webkitgtk,我正在编译一个简单的程序,在GTK窗口中嵌入WebKit的WebView。因此,当编译器检查这一行时: webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); 它给了我一些错误: /usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_gl_surface_get_width' /usr/local/lib/libwebkitgtk-3.0.so: undefined ref

我正在编译一个简单的程序,在GTK窗口中嵌入WebKit的WebView。因此,当编译器检查这一行时:

webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
它给了我一些错误:

/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_gl_surface_get_width'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_egl_device_create'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `soup_message_set_priority'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `hb_icu_get_unicode_funcs'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_glx_device_create'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_gl_surface_get_height'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_gl_device_set_thread_aware'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `cairo_gl_surface_create_for_texture'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `hb_icu_script_to_script'
collect2: error: ld returned 1 exit status
make[2]: ** [dist/Debug/GNU-Linux-x86/webkittest] Erro 1
make[2]: Saindo do diretório `/home/todi/Projetos/Cpp/WebKitTest'
make[1]: ** [.build-conf] Erro 2
make[1]: Saindo do diretório `/home/todi/Projetos/Cpp/WebKitTest'
make: ** [.build-impl] Erro 2
是的,我在链接器中引用了lib,我不知道在哪里可以找到这些函数。我会感谢你的帮助


谢谢

这已在webkit gtk的更高版本中修复。请参阅:降级harfbuzz以编译此版本的webkit gtk,或将webkit gtk升级到lastets版本(适用于2.4.3)

使用编译harfbuzz

sudo./configure--with icu sudo-make sudo make istall

然后用

sudo./configure--enable gl--includedir=“/usr/include/”--libdir=“/usr/share/lib”

sudo-make


sudo make install

你的链接器命令行是什么?您是否正在使用pkg配置--libs webkitgtk-3.0?