Access denied, Please sign in and make sure you have proper permission.
#1 楼 @Victor ubuntu 下面报错了 dll: invalid ELF header (LoadError)
你在 Linux 下 load 一个 Windows 的 dll , 它会好使吗??好使就见鬼了。
希望 ruby 能在 Lunix 下调用扩展库中的 win32ole
成功
#9 楼 @hammer 貌似那些依赖了 c 语言的 gem 能在 win 下调用耶(比如 nokogiri)
#8 楼 @wangping 先搞清楚 wine 是啥再说。
.so 也好,.dll 也好,其格式及加载机制都是与 OS 严重依赖的。Ruby 调用 dll, 或 .so 是通过系统 API, 例如 Windows 的 LoadLibrary 或 Linux/Unix 的 dlopen 等 来实现。你用 dlopen 去 load 一个 windows 的.dll,必定失败。
<你在 Ubuntu 下用 Wine 装一个 windows 版 Ruby,那是另一回事儿 >
以前我曾经调过某银行的东东,只支持 win 2003 系统,没法子,搞个虚机把这个 dll 再封装成 service 调用吧。
linux 下搞个.so 文件,.dll 只能用在 windows 下。别折腾了。
#15 楼 @hammer 不敢,没那玩意就编译不了了。。。
话说如果我装了 Visual Studio 的话,还需要再配置 DevKit 么
经过验证,目前有两种方法较好用(windows 平台):
FFI 模块和 Win32Api 模块,
在 Linux 平台使用 DL 模块调用.so