Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows7上使用ruby 1.9.2运行Qt4? 总结_Ruby_Windows 7_Qt4_Ruby 1.9_Qtruby - Fatal编程技术网

如何在Windows7上使用ruby 1.9.2运行Qt4? 总结

如何在Windows7上使用ruby 1.9.2运行Qt4? 总结,ruby,windows-7,qt4,ruby-1.9,qtruby,Ruby,Windows 7,Qt4,Ruby 1.9,Qtruby,我正在编写一个Ruby1.9.2应用程序,它的GUI使用Qt4,我想在Linux、OSX和Windows上发布它。除了我的Windows7 64位机外,我的应用程序在所有设备上都运行良好 有Win7+Qt4+1.8.7的工作示例,但显然不是Win7+Qt4+1.9.2。Ruby Qt绑定有两个宝石,qtbindings和qtruby4(有时称为qt4qtruby),但我还没有看到它们在Win7上运行Ruby 1.9.2 qtruby4的问题 它是一个很好的起点,但我与后者的不同之处在于,我安装了

我正在编写一个Ruby1.9.2应用程序,它的GUI使用Qt4,我想在Linux、OSX和Windows上发布它。除了我的Windows7 64位机外,我的应用程序在所有设备上都运行良好

有Win7+Qt4+1.8.7的工作示例,但显然不是Win7+Qt4+1.9.2。Ruby Qt绑定有两个宝石,
qtbindings
qtruby4
(有时称为
qt4qtruby
),但我还没有看到它们在Win7上运行Ruby 1.9.2

qtruby4的问题
它是一个很好的起点,但我与后者的不同之处在于,我安装了Ruby 1.9.2 via。1.8.7似乎工作正常,但当我尝试使用1.9.2时,会出现一些异常错误。要求
'rubygems'
然后要求
'Qt'
会导致:

no such file to load -- 'qtruby4'
上面的第一篇文章链接到一个可能提供一些线索的网站

  • 用这些库的最新版本复制dr1ku的步骤可能是值得的
  • dr1ku和2008年的paschenda.org文章都使用了a,但维护人员注意到他使用了。我不完全清楚这个特殊的安装程序是做什么的,但我想paschenda.org 2011年的文章不再使用它了,因为DevKit表面上帮助RubyGems自己在没有帮助的情况下构建Qt4
野外发现 以下是一些似乎遇到过同样问题的人:

qtbindings的问题
我的应用程序实际上使用了
qtbindings
gem,因此我尝试安装它,使用
gem安装qtbindings--platform=mswin32
[1]但是,当我尝试
要求安装
qtbindings
gem时,我收到一个带有以下消息的Windows弹出窗口:

找不到程序入口点
\u Z10qvsnprintfPcjPKcS
在动态链接库QtCore4.dll中。放弃吧,低等肉身生物

(我复制并粘贴了这条信息,没有任何修饰。)

野外发现 以下是一些似乎遇到过同样问题的人:

潜在的成功案例 有人似乎已经成功地在1.9.2上用
gem install qtbindings
(no
--platform
参数)安装了
qtbindings
gem,如果您查看对此线程的回复:

我在1.8.7上尝试了使用
gem安装qtbindings
进行安装,但我还没有在1.9.2上尝试过。当我尝试使用1.8.7时,我遇到了与以前相同的“无法定位程序入口点”问题

脚注 [1] -实际上,我并不完全清楚
qtbindings
gem和
qtruby4
gem之间的区别。例如,后者是否包括C扩展而前者不包括?我不确定。此外,我还看到了对
qt4qtruby
的引用,我认为这只是
qtruby4
的mswin32版本,至少从解决方案来看是这样的 以下步骤适用于Windows 7:

  • 通过安装Ruby 1.9.2
  • 在Windows shell中,运行
    gem安装qtbindings
  • 这个简单的例子(
    require'rubygems';require'Qt'
    )现在应该可以工作了

    不需要额外的步骤,因为仅为Windows平台提供了二进制gem。因此,
    gem安装qtbindings
    步骤在下载大型二进制文件时需要几分钟的时间,但它包含需要和运行Qt应用程序的所有必要部分

    支持在Windows上从源代码进行编译,并记录在项目文件中

    底层 我给
    qtbindings
    qtruby
    的维护者发了电子邮件。以下是完整的故事:

    qtruby
    是由提供的软件包。Korundum为所有KDE提供Ruby绑定,而
    qtruby
    仅为Qt提供绑定

    qtbindings
    ()是专门为跨平台使用而优化的
    qtruby
    的修改和重新打包版本。我将从以下位置复制并粘贴“目标”部分:

    目标
  • 为了便于在所有平台上安装Ruby的Qt绑定 使用RubyGems
  • 为捆绑的Windows维护最新的二进制gem 使用来自的最新版本的Qt
  • 将绑定的范围和维护减少为仅绑定到 Qt SDK提供的库
  • 提高与非linux平台的兼容性
  • 尽管提供了其gem的
    mswin32
    版本,但截至本文撰写之时,没有任何人对它们进行积极审查,因此不应依赖它们。QtRuby维护人员告诉我,RubyForge页面在QtRuby 3发布之前可能不可靠

    重述 现在(2011年3月10日),不要在Windows上使用
    qtruby
    gem。使用
    qtbindings

    您可能能够在其他平台上使用
    qtruby
    ,在Windows上使用
    qtbindings
    ,但您可能会自找麻烦。如果您只是选择Qt,而不关心KDE的其余部分,
    qtbindings
    可能是一个安全的选择


    QtRuby的维护者正在计划在不久的将来进行一些方法更新(例如使用git),因此,这两个项目之间可能会有更多的共享修复和更新。

    您是否有可能包含一个四行应用程序来演示问题?@sarnold-只要您尝试
    要求“Qt”
    ,问题就会出现,因此即使是一个四行示例也会被忽略。这就是文件中查看问题所需的全部内容:
    require'rubygems';需要'Qt'
    Wild guess:1.8.7安装程序将标准C库作为instal的一部分