c# - Mono Gtk# 无法编译初学者教程

标签 c# windows mono gtk#

我正在尝试让 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' 在未引用的程序集中定义。考虑添加对程序集的引用atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f' C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0\gtk- sharp.dll(与先前错误相关的符号位置)hello.cs(11,9):错误 CS0012:类型 GLib.IWrapper' 在未引用的程序集中定义。考虑添加对程序集的引用glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f' C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0\gtk- sharp.dll(与先前错误相关的符号的位置)编译失败: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 环境变量中 No package 'gtk-sharp.2.0' found error CS8027: Error running 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/

相关文章:

android - "SDK directory does not exist"错误

javascript - 需要 ("sdk/window/utils").windows() 的私有(private)窗口

c# - 单声道 : Is remote debugging possible with monodevelop?

c# - 如何在 Windows Phone 8.1 中阻止一个特定的键

C# 性能 - 使用不安全指针代替 IntPtr 和 Marshal

c# - 连接状态未关闭

c# - 如何将整数参数的字符串表示形式返回为基数 16 的无符号整数

c - 为什么当线程 A 关闭套接字对的末端时,windows select() 并不总是通知线程 B 的 select()?

c# - 为什么自托管服务在处理一个在 Mono 上运行的响应后会挂起?

c# - C# 游戏中 NPC 的异步行为