在Linux下编译的单声道应用程序不能在Windows中运行【JAVA教程】

!
也想出现在这里? 联系我们
信息

在Linux下编译的单声道应用程序不能在Windows中运行,第1张

概述在Linux下编译的单声道应用程序不能在Windows中运行

我一直在使用Gtk#编写单声道的小应用程序。 这是我的第一个Gtk#+ Mono应用程序,但是我现在用.NET框架开发了相当长的时间。

该应用程序的最终目标是在所有3个主要平台下运行(尽pipe我只有2个testing)。 到目前为止,我已经完成了这个目标。

有时我在linux下开发,有时在windows下开发。 两个系统都有最新的Gtk#的Mono 4.0.2。 但是,linux编译的exe和windows编译的exe文件之间存在差异。

编译时使用相同的.sln,通过git(GitHub是精确的,如果有的话)同步。 具体设置包括

执行本机代码时得到了一个SIGSEGV。 这通常表示单声道运行时发生致命错误

如何从Mono证书商店中删除/移除证书My和Trust?

单声道是否支持System.Drawing和System.Drawing.Printing?

在RaspBerry Pi的linux环境中出现windows Forms错误

在linux上的WCF – 是值得的努力

目标Gtk#版本:2.12 w / gettext支持(Mono.Unix.Catalog是我的gettext类,资源加载器类是Gdk.Pixbuf)

目标框架:Mono / .NET 4.5。 使用msbuild引擎,编译目标是可执行的w / GUI,selectWin32图标。

x86目标

我在linux下构build:成功的构build,没有错误,在linux下运行良好。 文件大小为142 kb。 这个很重要。 还有一件事要注意:在windows下,它没有图标(这是默认的程序图标)。

然后,我在windows下build立相同的来源,相同的设置:文件大小为228kb,有一个图标,运行良好。

当我运行linux内置的exe,它说“LuaModuleManager.exe已停止工作”。 “更多的细节”是这样的:

Problem signature: Problem Event name: CLR20r3 Problem Signature 01: luamodulemanager.exe Problem Signature 02: 0.7.0.6 Problem Signature 03: 0 Problem Signature 04: LuaModuleManager Problem Signature 05: 0.7.0.6 Problem Signature 06: 0 Problem Signature 07: f Problem Signature 08: 13 Problem Signature 09: System.IO.fileNotFoundException OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1033 Additional information 1: 0a9e Additional information 2: 0a9e372d3b4ad19135b953a78882e789 Additional information 3: 0a9e Additional information 4: 0a9e372d3b4ad19135b953a78882e789

这真的很有趣 ,它是一个System.IO.fileNotFoundException。 我似乎无法解决我的生活。

还有一点需要注意:windows编译的exe在windows和linux中运行良好,但是linux编译的exe只能在linux中运行。 并导致“LuaModuleManager.exe已停止工作”错误。

那么可能是什么问题呢? 引导到windows VM(或者重新引导我的整个系统以进入我的windows安装)对于编译和推出新的程序版本有点不便。

使用Console.CancelKeyPress的Mono应用程序不能在后台运行

如何在Mono上使用linq和MysqL数据库?

如何检查给定PID的进程是否正在运行?

linux上单声道的System.Speech

单声道:太多的堆段在应用程序占用内存超过4 GB时增加MAXHINCR或MAX_HEAP_SECTS

由于您使用的是Mono.Unix.Catalog,因此您的项目应该引用Mono.Posix程序集。

问题很可能是,在windows上,只有Mono.Posix 2.0.0.0使用GTK#2.12安装。

在linux上,您将拥有Mono.Posix 2.0.0.0和4.0.0.0,并且当您在linux上使用xbuild编译.NET 4项目时,它将使用Mono.Posix 4.0.0.0,它是针对.NET 4.0编译的,而不是Mono .Posix 2.0.0.0是针对.NET 2.0编译的。

有关于这个问题的一个开放的错误 。

理想情况下,用于windows的GTK#安装程序将包括Mono.Posix 4.0.0.0,但目前它不。

总结

以上是内存溢出为你收集整理的在Linux下编译的单声道应用程序不能在Windows中运行全部内容,希望文章能够帮你解决在Linux下编译的单声道应用程序不能在Windows中运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞170 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容