我试图让Mono和Gtk#在Windows上运行。

当我尝试运行mcs hello.cs -r:“C:\Program Files(x86)\Mono\lib\gtk-sharp-2.0\gtk-sharp.dll”

我收到以下错误:

hello.cs(11,9):错误CS0012:类型Atk.Implementor' is defined in an assemb ly that is not referenced. Consider adding a reference to assembly atk-sharp,V ersion = 2.12.0.0,Culture = neutral,PublicKeyToken = 35e10195dab3c99f'C:\Program Files(x86)\Mono\lib\gtk-sharp -2.0\gtk-sharp.dll(与先前错误相关的符号bol的位置)hello.cs(11,9):错误CS0012:类型GLib.IWrapper' is defined in an assembly that is not referenced. Consider adding a reference to assembly glib-sharp,Vesion = 2.12.0.0,Culture = neutral,PublicKeyToken = 35e10195dab3c99f'C:\Program Files(x86)\Mono\lib\gtk-sharp-2.0\gtk-sharp.dll(与先前错误相关的符号bol的位置)编译失败:2错误,0警告

这是我的hello.cs:

using Gtk;
using System;

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

        Window window = new Window ("Hello Mono World");
        window.Show ();

        Application.Run ();
    }
}

当我尝试运行:(如教程中所示)时,出现以下错误:

在pkg-config搜索路径中找不到软件包gtk-sharp.2.0。也许您应该将包含gtk-sharp.2.0.pc的目录添加到PKG_CONFIG_PATH环境变量中没有找到包gtk-sharp.2.0的错误CS8027:运行pkg-config时出错。检查以上输出。

我没有在网上找到任何东西,有人可以帮忙吗?

谢谢!

最佳答案

好的,问题似乎在于mcs命令行选项-pkg:gtk-sharp-2.0在Windows下无法正常工作,在Ubuntu下可以正常工作。

在pkg-config路径中有所需的文件gtk-sharp-2.0.pc,如果我运行pkg-configure,它也会找到gtk-sharp软件包。

如果有人知道如何在Windows中解决此问题,那就太好了。

对于所有遇到与我相同的问题的人,请通过-r选项将所有需要的dll添加到mcs中:

mcs hello.cs -r:"C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0
\gtk-sharp.dll" -r:"C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0\atk-sharp.dll"
 -r:"C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0\glib-sharp.dll"

关于c# - Mono Gtk#无法编译初学者的教程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33591123/

10-16 12:28