【发布时间】:2018-07-02 08:40:22
【问题描述】:
我正在尝试设置 GTK# 以在 Windows 上使用单声道。安装成功,我可以使用单声道编译 Windows 窗体程序。我的 PATH 中有 GTK#。 this is what i get when trying to compile it。我没有看到它引用的输出。从这一点开始,我真的不知道该怎么办。我已修复安装,已重新安装,已重新启动计算机,但仍然无法正常工作。
提前谢谢
【问题讨论】:
我正在尝试设置 GTK# 以在 Windows 上使用单声道。安装成功,我可以使用单声道编译 Windows 窗体程序。我的 PATH 中有 GTK#。 this is what i get when trying to compile it。我没有看到它引用的输出。从这一点开始,我真的不知道该怎么办。我已修复安装,已重新安装,已重新启动计算机,但仍然无法正常工作。
提前谢谢
【问题讨论】:
如果您阅读Mono's documentation for Gtk#,它会说:
在 Windows 上使用过 csc 编译器的一些人可能会注意到 “-pkg:”有点奇怪。这在 csc 中不存在,因为 Mono 来自 Linux 的世界。它的作用是查找包 该名称下的配置文件。在包配置文件夹中存在一个 文件名“gtk-sharp-2.0.pc”,其中包含(其中包括 信息)关于该包的库的位置。那 这样我们就不必输入“-r:gtk-sharp-2.0.dll -r:atk-sharp-2.0.dll -r:pango-sharp-2.0.dll ....”全部手动。
假设提供了文档,编译所需的一切都存在,包括pkg-config,实际读取gtk-sharp-x.y.pc 文件并配置编译的可执行文件。但是,要么它不存在,要么 PATH 没有正确配置。
首先确定你已经安装了Mono and Gtk#。我知道这似乎是多余的,但需要两个安装程序。
然后,分解编译命令,这样就不需要 pkg-info。
$ mcs -r:/usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/mono/gtk-sharp-2.0/atk-sharp.dll -r:/usr/lib/mono/gtk-sharp-2.0/glib-sharp.dll gtksharpdemo.cs
我在一台 Linux 机器上,所以程序集的完整路径不会是那些。我想它会是这样的:
$ mcs -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\glib-sharp.dll" -r:"C:\Program Files (x86)\Mono\lib\gtk-sharp-2.0\atk-sharp.dll" gtksharpdemo.cs
最后,如果您使用MonoDevelop,这一切都会变得容易得多。您可以从 Gtk# 2.0 模板开始您的项目,一切都会为您设置好。如果你因为一些模糊的原因更喜欢从空模板开始,然后去项目的“references”部分,添加“System”、“gtk-sharp”、“glib-sharp”和“atk-sharp” .
这也可以通过 Visual Studio 实现,但我没有任何使用经验。
【讨论】: