Mono:我的GTK应用程序可以在Windows-64位上执行吗?
我已经用MonoDevelop,GTK#2作为GTK2项目在Linux 64位中创建了一个应用程序 我能够制作一个可执行文件,平台目标是“AnyCPU”(我已经删除了Posix引用和GetText()-支持),但我也尝试了“x64”Mono:我的GTK应用程序可以在Windows-64位上执行吗?,mono,gtk,monodevelop,gtk#,Mono,Gtk,Monodevelop,Gtk#,我已经用MonoDevelop,GTK#2作为GTK2项目在Linux 64位中创建了一个应用程序 我能够制作一个可执行文件,平台目标是“AnyCPU”(我已经删除了Posix引用和GetText()-支持),但我也尝试了“x64” 此可执行文件可在64位Linux上执行(终端:mono App.exe) 此可执行文件可在Windows 32位上执行(终端:mono App.exe) 此可执行文件无法在Windows 64位上运行(终端:mono App.exe) 导致错误: 未处理的异常:Sy
未处理的异常:System.DllNotFoundException:libglib-2.0-0.dll
我已在Windows 32位和Windows 64位两台计算机上安装了适用于Windows运行时环境的GTK+
事实上,我在GTK/bin路径上找到了这个DLLlibglib-2.0-0.DLL
,并且还将它复制到了我的可执行文件夹中,即使它是在path环境变量中设置的
无论如何,我得到了相同的错误消息,但只有在Windows 64位
我是否有机会使我的GTK应用程序运行Windows 64位
Windows x64是否有不同的
libglib-2.0-0.dll
,我如何获得它?当然可以在64位Windows上运行Gtk#2应用程序,但这需要一些工作。您似乎已经获得了必要的.Net程序集和所需的本机Win64 Gtk+DLL,但还需要一组额外的64位本机“粘合”DLL。在我的搜索中,我还没有找到一个好的预编译形式的源代码,但是可以从gtk sharp源代码构建它们。也许我应该提到,有一种方法可以获得我已经编译的Win64“glue”DLL的副本。它们包含在我们的“APSIM下一代”软件产品中,该产品免费提供,但需要注册。转到,然后选择“APSIM”作为产品,选择“下一代(Windows)”作为版本。这将允许您访问安装程序,并且安装的软件将包括您需要的DLL。我真的应该在我们的github网站上提供这些作为公共服务,但我还没有这样做。非常感谢您的回答!我几乎失去了所有的希望。我会检查这一点,并返回一个回复,并将您的回复设置为相应的解决方案。嗨,埃里克,安装了您的应用程序,但绝对没有找到类似“libglib-2.0-0.dll”的内容。你的确切意思是什么样的DLL?我正在寻找适用于Win64的GTK2 DLL,目前正在使用这些DLL(我的项目中的本地引用):System.dll
System.Data.dll
gdk sharp.dll
glib sharp.dll
gtk sharp.dll
Mono.Data.Sqlite.dll
原始错误消息是:未处理的异常:System.DllNotFoundException:libglib-2.0-0.dll
安装程序应该创建一个名为C:\Program Files\APSIM2018.10.23.3165的文件夹(数字会因您获得的版本而异)。这将有一个Bin子文件夹,其中包含所有必要的dll(包括libglib-2.0-0.dll),以及一些您不需要的其他dll。在大多数情况下,您需要那些名称以“lib”开头的文件,以及那些文件名.Oh中某处带有“sharp”的文件,还有gtkdotnet.dll和Mono.Cairo.dll。Gtk支持总共约有40个DLL。