我有一个 simple window应用程序,使用 MSYS2 构建,我希望它能够在 MSYS2 MinGW 外壳之外运行,只需双击该应用程序即可。
问题是,当我想运行应用程序时,它必须通过 MSYS MinGW 提示,否则会返回错误。
The code execution cannot proceed because libgio-2.0-0.dll was not found. Reinstalling the program may fix this problem
我尝试包括(通过将文件复制到我的 exe 的位置)
libgio-2.0-0.dll 并出现更多错误,表示缺少库。我也包含了这些文件。我已经展示了我在下面包含的文件:
libffi-6.dll
libgdk-3-0.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgtk-3-0.dll
libgobject-2.0-0.dll
libgio-2.0-0.dll
libatk-1.0-0.dll
libcairo-gobject-2.dll
libcairo-2.dll
libepoxy-0.dll
libpcre-1.dll
libwinpthread-1.dll
libgdk_pixbuf-2.0-0.dll
libpango-1.0-0.dll
最后出现错误提示:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
I found what the error message means:
That particular error code refers to an invalid image format. However, what the error code usually means is that you are trying to run a program that is intended to work with a 64 bit Windows operating system, but that you only have a 32 bit OS.
但是它没有帮助,因为我运行的是 x64 计算机。 DLL 是 x64 以及 exe。
www.gtk.org说 GTK+ 依赖于一些库,除了我上面所做的之外,我想不出任何解决方案,也找不到任何关于要包含哪些依赖项以便不通过 MSYS 提示运行它的文档。
那么我需要做什么才能让我的窗口正常工作?应用程序很好,但依赖项有问题。
其次,我需要为我提供的脚本包含哪些依赖项(或者我是否列出了所有依赖项,在这种情况下我的窗口出了什么问题)?
最后,有没有比我尝试做的更简单的方法来获取所有必要的依赖项?
最佳答案
系统需要能够找到共享库。在 Linux 系统上,这是通过链接器,通常是 ld。在哪里找到它们的配置位于 /etc/ld.so.conf 和 /etc/ld.so.conf.d。
现在在 Windows 上,这不存在。这就是为什么通常使用环境变量 PATH 并且有时由安装程序修改的原因。但是为每个程序更改 PATH 很烦人并且禁止重定位(移动整个应用程序目录并从其他地方运行应用程序)。因此,您可以创建一个空目录,在其中创建一个 bin 目录,然后将您的应用程序二进制文件和 GTK+ 库复制到那里。这应该有效,因为 the current directory is searched before the PATH variable在 Windows 上。
所以你所做的是正确的。您遇到的问题类似于应用程序重新分发,即。收集必要的位以在另一台计算机上分发软件。不幸的是,这不是 GTK+ 网站上记录最多的部分。您是否尝试过不使用 GtkApplication 类的应用程序?
关于c - 只需双击即可运行使用 MSYS2 构建的 GTK+ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857894/
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
在编写Ruby(客户端脚本)时,我看到了三种构建更长字符串的方法,包括行尾,所有这些对我来说“闻起来”有点难看。有没有更干净、更好的方法?变量递增。ifrender_quote?quote="NowthatthereistheTec-9,acrappyspraygunfromSouthMiami."quote+="ThisgunisadvertisedasthemostpopularguninAmericancrime.Doyoubelievethatshit?"quote+="Itactuallysaysthatinthelittlebookthatcomeswithit:themo
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是:
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty
当我创建一个Rails应用程序时,控制台:railsnewfoo我的代码可以使用字符串“foo”吗?puts"Yourapp'snameis"+app_name_bar 最佳答案 Rails.application.class将为您提供应用程序的全名(例如YourAppName::Application)。从那里您可以使用Rails.application.class.parent获取模块名称。 关于ruby-on-rails-应用程序的名称是否可以作为变量使用?,我们在StackOve