我正在尝试在 C# 中完成我的第一步,并希望构建一个空的 GTK 窗口作为我的第一个任务。通过macports
我安装了以下软件包:
- [电子邮件受保护]
- [电子邮件受保护]
- [电子邮件受保护]
我还使用 Mono 主页上的 MonoDevelop。
I added gtk-sharp.dll
(from /opt/local/lib/mono/gtk-sharp-2.0
)到我的参考文献。
我的代码如下所示:
using System;
using Gtk;
namespace lolbr_client
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine("Loading..");
Window window = new Window("test");
}
}
}
当我编译并运行该代码片段时,它似乎找到并包含 GTK 库,它在控制台上打印“正在加载..”,但后面的行Console.WriteLine()
导致此错误:
System.DllNotFoundException: gtksharpglue-2
at (wrapper managed-to-native) Gtk.Container:gtksharp_gtk_container_get_focus_child_offset ()
at Gtk.Container..cctor () [0x00000] in <filename unknown>:0
虽然我的文件系统上不存在该特定的 .dll,但快速locate gtksharpglue-2
透露了以下文件:
/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/libgtksharpglue-2.so
/opt/local/lib/libgtksharpglue-2.a
/opt/local/lib/libgtksharpglue-2.la
/opt/local/lib/libgtksharpglue-2.so
这些文件对我有帮助吗?调试/修复此问题的下一步是什么?我已经在谷歌上进行了搜索,但要么我对这个主题太陌生,无法识别有用的信息,要么有用的信息根本不存在。有人能帮我吗?提前致谢!
如何运行 GTK Sharp MONO 应用程序(例如使用 Xamarin Studio 编译)的解决方案是执行以下操作:
将您的 mono/gtk-sharp 应用程序编译为 Release
-
像这样创建 shell 脚本文件 (bash)(随意命名)
[sharp]!/bin/sh
export DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/Mono.framework/Versions/Current/lib:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"
exec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono ./AsketicExcel.exe
![enter image description here](https://i.stack.imgur.com/889Qy.png)
_3.然后你可以运行这个表单终端或者你可以使用这个打包工具http://sveinbjorn.org/platypus并创建普通的 OSX 应用程序:)(将所有文件包含在包中 Release 目录中)
然后,为了在其他 Mac 上运行此应用程序,您需要安装 GTK# 和 Mono 运行时http://www.go-mono.com/mono-downloads/download.html
In the end it would look like:
![enter image description here](https://i.stack.imgur.com/VhCTO.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)