【问题标题】:The procedure entry point could not be located?找不到程序入口点?
【发布时间】:2010-12-24 18:43:09
【问题描述】:

由于某些奇怪的原因,当我尝试在 SFML 中渲染一个简单的窗口时,我在使用 Visual C++ 2010 时遇到了一个奇怪的错误:The procedure entry point ??()VideoMode@sf@@QAE@III@Z could not be located in the dynamic link library sfml-window.dll

使用 Code::Blocks 时,我完全没有错误。但问题似乎是一样的。

但重点是我仍然没有 SFML 应用程序窗口,或者我喜欢称之为“固定”窗口。

我的问题是什么?

【问题讨论】:

    标签: c++ sfml


    【解决方案1】:

    我刚刚发现我必须静态链接这些库。

    感谢您的回答。

    【讨论】:

      【解决方案2】:

      问题是正在加载的 DLL 与您链接的 lib 文件不匹配。

      我通过在与可执行项目相同的编译器和设置下重新编译 DLL 解决了类似的问题

      【讨论】:

      • 这确实可能是问题所在。我有用于 Visual Studio 的 SFML 和用于 MinGW 的 SFML,我将重新安装一个或另一个 IDE,这样我就不会混淆了。这在过去发生了太多次,无法容忍。认真的喜欢:(
      【解决方案3】:

      您没有链接所有库。 Code::Blocks 会自动链接所有这些,但不是 VS。当我使用 OpenGL 创建应用程序时,我会这样做(通过代码链接,看起来不漂亮,但“正常工作”):

      #pragma comment(lib, "sfml-system.lib")
      #pragma comment(lib, "sfml-window-s.lib")
      #pragma comment(lib, "sfml-graphics.lib")
      

      【讨论】:

      • 这没有意义。我已经正确链接了它们,甚至指定了目录,即使它不需要。
      • -1 他没有报告链接器错误;而是在启动后/启动期间失败
      • sfml-window-s 包含一些 sfml-window 没有的功能。虽然我知道我在说什么
      猜你喜欢
      • 2011-09-18
      • 2014-01-18
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多