【问题标题】:mono compliling GTK# on windows在 Windows 上单声道编译 GTK#
【发布时间】:2018-07-02 08:40:22
【问题描述】:

我正在尝试设置 GTK# 以在 Windows 上使用单声道。安装成功,我可以使用单声道编译 Windows 窗体程序。我的 PATH 中有 GTK#。 this is what i get when trying to compile it。我没有看到它引用的输出。从这一点开始,我真的不知道该怎么办。我已修复安装,已重新安装,已重新启动计算机,但仍然无法正常工作。

提前谢谢

【问题讨论】:

    标签: c# mono gtk gtk#


    【解决方案1】:

    如果您阅读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 实现,但我没有任何使用经验。

    【讨论】:

    • GTK# 安装程序说它仅适用于 .net,而 32 位单声道安装程序说它也安装 GTK#。我在这里错过了什么吗?此外,您的分解命令中的一半文件不存在于我的 gtk-sharp-2.0 文件夹中
    • 答案如下:“我知道这似乎是多余的,但两个安装程序都需要。”关于您对“那些文件的一半”的评论……它们恰好是三个文件:gtk、glib 和 atk。您的安装中是否缺少 1.5 文件?
    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多