1

GTK# Webkit System.DllNotFoundException 缺少文件 webkitgtk-1.0.so.0

我编写了以下编译成功的 GTK# 应用程序,代码如下:

using System;
using Gtk;
using GtkSharp;
using WebKit;


namespace gtk_test
{
class Hello {

        static void Main()
        {
                Application.Init (); 

                //MainWindow window = new MainWindow ();
                Window window = new Window ("TEST");
                window.Fullscreen();

                Fixed frmtest=new Fixed();
                frmtest.SetSizeRequest(1280,1024);
                Label test = new Label();
                test.Text = "Hello and Welcome to GTK#";
                Button btnclose = new Button();
                btnclose.SetSizeRequest(100,50);
                btnclose.Clicked +=  btnclose_clicked;
                btnclose.Label = "Exit Program";
                btnclose.TooltipText = "close program!";
                ScrolledWindow scrollWindow = new ScrolledWindow ();;
                scrollWindow.SetSizeRequest(1000,900);
                WebView webView = new WebView ();
                webView.SetSizeRequest(1200,1000);
                webView.Open ("www.bbc.co.uk/sport");
                scrollWindow.Add (webView);
                frmtest.Put(test,10,50);
                frmtest.Put(btnclose,10,75);
                frmtest.Put(scrollWindow,10,100);
                window.Add(frmtest);
                window.Show();
                window.ShowAll();
                Application.Run ();


        }

        static void  btnclose_clicked (object sender, EventArgs e)
        {
            Application.Quit();

        }
}

}

但是它会因 System.DllNotFoundException 错误而崩溃,说明 webkitgtk-1.0.so.0 文件丢失。我在互联网上研究过寻找解决方案,但似乎找不到任何解决方案。GTksharp 和 Webkitsharp 已安装。它还需要 webkitgtk 吗?我现在正在尝试这个!我真的很难找出我没有安装的东西。注意 /usr/lib64 有一个 libwebkit-1.0.so.2 文件,但没有 libwebkit-1.0.so.0 文件,应该存在吗?

谢谢你的帮助,

安迪

4

2 回答 2

0

我使用的 DLL 文件版本不正确。我手动编译了 Webkit# 并从源代码复制到 DLL 中。

于 2013-02-11T11:56:09.213 回答
0

我还修复了我原来安装的 webkit-sharp (yum install webkit-sharp*)

我只是将我的配置文件更改为(从 webkitgtk-1.0.so.0 到 webkitgit-1.0.so.2)

<configuration>
     <dllmap dll="webkit-1.0" target="webkitgtk-1.0.so.2"/>
</configuration>

这是为了读取正确的库文件,而不是不存在的 webkitgtk-1.0.so.0。

于 2013-02-12T17:26:57.733 回答