Ruby无法链接到MS C运行时(msvcr90.dll)

Ruby无法链接到MS C运行时(msvcr90.dll),ruby,thin,msvcr90d.dll,Ruby,Thin,Msvcr90d.dll,我试图在Windows/XP上运行Ruby Thin演示应用程序时,遇到一个错误,Windows找不到Ruby 1.8.7的msvcr90.dll-我找到了一个可再发行的文件,并将其放在我的路径中,以面对以下信息: "R6034 ... application has made an attempt to lead the C runtime incorrectly" 今天早些时候,我运行了一些eventmachine演示,所以我认为问题在于Thin Ruby堆栈转储没有那么大帮助。。。包括在

我试图在Windows/XP上运行Ruby Thin演示应用程序时,遇到一个错误,Windows找不到Ruby 1.8.7的msvcr90.dll-我找到了一个可再发行的文件,并将其放在我的路径中,以面对以下信息:

"R6034 ... application has made an attempt to lead the C runtime incorrectly"
今天早些时候,我运行了一些eventmachine演示,所以我认为问题在于Thin

Ruby堆栈转储没有那么大帮助。。。包括在下面。有治疗方法吗

我看过其他MSVCR90.DLL文章,这些方法都不管用。MSVCR90.DLL现在位于system32中-错误链接

提前谢谢

。。。意志

------
W:\> ruby adapter.rb
>> Thin web server (v1.2.2 codename I Find Your Lack of Sauce Disturbing)
>> Maximum connections set to 1024
>> Listening on 127.0.0.1:3000, CTRL+C to stop
c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin_parser.so: 1114: A dynamic link library (DLL) initialization routine failed.  
    - c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin_parser.so (LoadError)
      from c:/bin/ruby/v1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
      from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin/request.rb:1
      from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin/connection.rb:35:in `post_init'
      from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/em/connection.rb:43:in `new'
      from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/em/connection.rb:36:in `instance_eval'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/em/connection.rb:36:in `new'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/eventmachine.rb:1490:in `event_callback'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/eventmachine.rb:242:in `run_machine'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/eventmachine-0.12.8-x86-mswin32-60/lib/eventmachine.rb:242:in `run'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin/backends/base.rb:57:in `start'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin/server.rb:156:in `start!'
    from c:/bin/ruby/v1.8/lib/ruby/gems/1.8/gems/thin-1.2.2/lib/thin/server.rb:142:in `start'
    from adapter.rb:21

似乎需要排除/MD参数 并确保您的库调用xfree,而不是free:


-r

对于Ruby 1.9,这似乎可以通过Windows解决,但需要注意的是,这仍然是一项正在进行的工作

回到最初的问题,构建将取决于您使用的Ruby是用哪个编译器构建的,等等。即使使用当前的东西也不是100%。我有几次构建失败。所以对你的环境有一定的敏感性


祝你好运。

你好。。。thaks我以前估计大约是/MD。你能详细说明什么是xfree吗?这里的目标是Windows/XP,我打开的唯一xfree是x-Windows pac。请看:我失去牵引力的瘦红宝石线程,因为最终的答案是mingw。不用担心。这里有一些有用的评论。我发现config.h和rbconfig.rbar对于解决这个问题至关重要。与今天的建设。走出去,让ruby编译器免费_w/xfree是ruby对free方法的包装,调用它而不是free将使您的代码能够跨msvcrt.dll运行[即,您链接到一个,在另一个中运行],或者我被告知如此。