【问题标题】:The procedure entry point fclose could not be located找不到过程入口点 fclose
【发布时间】:2014-07-29 15:07:28
【问题描述】:

我最近构建了一个包含 gorilla-audio 库的 Ruby C 扩展。该库很简单,代码干净,占用了内存等。但是,当我尝试将库加载到 ruby​​ 中时,它会抛出一个错误,内容如下:

在动态链接中找不到过程入口点fclose

库 mscvrt-ruby191.dll。

我已经在我的源代码中包含了stdio.h,就像 gorilla-audio 一样,不确定发生了什么。有什么想法吗?

这可能是因为使用 mingw/msys 构建了我的扩展程序,但将其加载到了 Windows 应用程序中?

【问题讨论】:

    标签: c ruby windows api fclose


    【解决方案1】:

    如果另一个人得到这样的东西,我找到了答案;实际上,这是两个答案:

    1. 不要交叉编译,并且
    2. 我需要链接msvcrt 库,因为它包含fclose() 等所有默认函数。

    不过没关系,反正我是在交叉编译;我必须将 Ruby 标头和其中的一些源代码转换为 C++,才能使用 Visual Studio 制作 Ruby C 扩展。

    【讨论】:

      猜你喜欢
      • 2014-01-18
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多