OSX 上的 Mono:找不到 gtksharpglue-2.dll

2023-11-24

我正在尝试在 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 编译)的解决方案是执行以下操作:

  1. 将您的 mono/gtk-sharp 应用程序编译为 Release

  2. 像这样创建 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

_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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OSX 上的 Mono:找不到 gtksharpglue-2.dll 的相关文章

随机推荐

  • 获取 ALAsset 的路径

    如何获取 ALAsset 数组中每个项目的路径 我想要获取图像 以便将它们添加到电子邮件中 e g NSString path NSBundle mainBundle pathForResource sample ofType png NS
  • 焊接未正确初始化

    我正在搭建JavaEE7中学习CDI的基本环境 我有以下代码用于启动Weld 只需要启动和关闭即可 package com anshbansal import org jboss weld environment se Weld impor
  • SQL 访问查询 - 如果存在则更新行,如果不存在则插入

    我需要为 MS Access 2000 编写一个 SQL 查询 以便更新行 如果存在 但如果不存在则插入 i e 如果行存在 UPDATE Table1 SET WHERE Column1 SomeValue 如果它不存在 INSERT I
  • strtotime 日期奇怪的结果

    给定以下字符串日期 Fri Sep 02 2011 21 00 00 GMT 0100 GMT Daylight Time 在 php 中 如果我在上面执行 strtotime 然后将其转换回字符串日期 似乎会增加一个小时 echo str
  • C# - 将数字附加到正在保存的文件中

    我已经创建了一个屏幕截图程序 一切运行良好 唯一的问题是 我不知道如何才能做到这一点 以便屏幕截图以附加数字的形式保存 例如 屏幕截图 1 屏幕截图 2 屏幕截图 3 屏幕截图 4 等 显然这可以应用于正在保存的其他文件 有任何想法吗 谢谢
  • Oracle存储过程中字符串缓冲区太小错误

    我在 Oracle 11g 存储过程中遇到错误 错误是 ORA 06502 PL SQL numeric or value error character string buffer too small 它发生在第 31 行 该行包含out
  • Python Pandas 并排绘制两个 BARH

    I am trying to make a plot that is similar like this 左侧图表 带图例的图 源自df 2 右侧图表源自df 1 但是 我无法使两个图并排共享 y 轴 这是我目前的绘图方式 df 1 tar
  • 数学“pow”函数 gcc 的 SSE 向量化

    我试图对包含数学库中 pow 函数的使用的循环进行矢量化 我知道英特尔编译器支持对 sse 指令使用 pow 但我似乎无法让它与 gcc 一起运行 我认为 这是我正在处理的情况 int main int i 0 float a 256 b
  • 使用 XmlSerializer 反序列化 XML 时保留仅包含空格的元素内容

    我有课InputConfig其中包含一个List
  • 在系统调用期间捕获/阻止 SIGINT

    我编写了一个网络爬虫 我希望能够通过键盘停止它 我不希望程序在我中断它时死掉 它需要首先将数据刷新到磁盘 我也不想抓KeyboardInterruptedException 因为持久数据可能处于不一致的状态 我当前的解决方案是定义一个信号处
  • 通过电子邮件发送 Gitlab-CI 工件

    我们的 Gitlab 管道生成一些性能图表 我希望通过电子邮件将其发送给每个团队成员 到目前为止 它们被标记为工件 因此 Gitlab 保留它们 Gitlab 有什么办法可以实现这一点吗 或者我应该在工作脚本中执行此操作 目前无法从 git
  • Linux中这个$PATH是什么以及如何修改

    我对 Linux 中的 PATH 有几个问题 我知道它告诉 shell 在哪些目录中搜索可执行文件 所以 环境变量是什么意思 如何改变它的路径 是否建议更改 如果我改变它会有什么后果 让你的路径成为当前路径 PATH变量类型为 echo P
  • 为什么 numpy.random 和 multiprocessing 不能很好地发挥作用? [复制]

    这个问题在这里已经有答案了 我有一个随机游走函数 它使用numpy random执行随机步骤 功能walk本身就可以正常工作 同时 它在大多数情况下按预期工作 但是与multiprocessing 它失败 为什么multiprocessin
  • 如何在 SAPUI5 XML 视图中使用 if-else 条件?

    如何在 SAPUI5 的 XML 视图中实现 if else 条件 该条件使用来自JSONModel 到目前为止我有一个控制器 sap ui define sap ui core mvc Controller sap ui model js
  • 之前有效的 Microsoft Graph 请求出现 InefficientFilter 错误

    向 MS Graph 发出以下请求以检索按到期日期排序的标记消息 https graph microsoft com beta me messages filter flag flagStatus 20eq 20 27flagged 27
  • 串行数据的二进制通信协议解析器设计

    我正在重新审视字节流 串行数据 一次接收 1 个字节 的通信协议解析器设计 数据包结构 无法更改 为 Start Delimiter 1 byte Message ID 1 byte Length 1 byte Payload n byte
  • 在 Mac OS X 上测试 IE6

    我希望能够在 Mac OS X 上全面测试我的网页的兼容性 我已经安装了 Parallels Desktop 它工作正常 但它使用大量资源 所以我希望能够测试 OS X 内的所有内容 事实上 我正在寻找适用于 Mac 的 Explorer
  • 有条件地在 Android 清单文件中包含元数据

    有没有办法有条件地包含meta dataAndroid 清单文件中的元素基于 Gradle 中设置的值 我能够执行以下操作 使用resValue to set
  • 如何将变量从 Python 传递到 VBA Sub

    我试图从我的 Python 代码调用 VBA 子程序 将指定文件夹中的所有 excel 文件从 xls 转换为 xlsm 格式 当我不在 VBA 中使用变量时 我可以使用以下代码 并且效果很好 Python代码 import os impo
  • OSX 上的 Mono:找不到 gtksharpglue-2.dll

    我正在尝试在 C 中完成我的第一步 并希望构建一个空的 GTK 窗口作为我的第一个任务 通过macports我安装了以下软件包 电子邮件受保护 电子邮件受保护 电子邮件受保护 我还使用 Mono 主页上的 MonoDevelop I add