我正在尝试让 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/