无法在动态链接库 sfml-graphics-2.dll 中定位过程入口点 _ZSt24__ throw_out_of_range_fmtPKcz

2024-01-19

今天我决定下载、安装并尝试使用 SFML 2.2。我还使用 MinGW 编译器下载了 Code::Blocks。我设置了所有内容并正确安装了所有内容(或者我是这么认为的),并尝试运行示例代码以查看它是否有效:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

代码已正确编译,但尝试运行时会出现错误消息框,显示“无法在动态链接库 sfml-graphics-2.dll 中找到过程入口点 _ZSt24__ throw_out_of_range_fmtPKcz”。我在网上搜索但没有找到与此问题相关的任何内容,因此我来这里寻求帮助。感谢进一步的回答。


此问题的主要原因是 DLL 的导入库是为您正在使用的 DLL 的不同版本创建的。

构建应用程序时,您使用了导入库,以便链接器找到应用程序正在调用的 SFML 函数。但是,DLL 本身不包含导入库具有存根的一个或多个函数。

创建隐式加载 DLL 的应用程序需要 3 个步骤:

  1. 编译代码
  2. 链接代码
  3. 运行代码

编译器只关心程序的语法是否正确。这工作没有错误。

链接器阶段确定您调用的函数是否实际存在。这就是事情变得棘手的地方,因为函数存根存在于导入库中,这将满足链接器的要求。导入库告诉链接器,“是的,这个函数就在这个 DLL 中,所以相信我”。这对你来说也没有错误

(请注意,这在非 DLL 场景中有所不同,链接器实际上会查找函数本身,而不是存根)。

然而,实际的函数本身位于不同的模块(DLL)中,并且应用程序唯一可以确定它们存在的时间是当您运行程序时。这就是你现在被困住的地方。

因此,您首先应该做的事情是确保构建应用程序时使用的导入库与运行时加载的 DLL 相匹配。如果仍然出现错误,请联系您获取 DLL 的位置并询问如何获取正确的导入库。

此外,如果由于某种原因无法获取导入库,还有一些方法可以从 DLL 创建导入库。我不知道如何为 MingW 手动执行此操作的所有细节,但这些信息应该可以在网上找到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在动态链接库 sfml-graphics-2.dll 中定位过程入口点 _ZSt24__ throw_out_of_range_fmtPKcz 的相关文章

随机推荐

  • 触发 onactivatefile 时向预览图像添加图标/div (Filepond)

    背景 我有一个 django 项目 用户可以上传多个图像 其中一个将是主图像 我正在使用 Filepond 上传和优化图像 Filepond 上传文件的顺序并不总是与用户选择的文件的顺序相同 因此 我尝试为用户提供一个选项 用户单击文件 在
  • Jasmine 在单独的测试项目中

    将 jasmine 测试分离到单独的 Visual Studio 项目中是否实用 可能 我刚刚开始使用角度 并尝试在开始实际的角度实现之前编写我的测试 我将写我的项目视觉工作室2012与厚颜无耻的测试运行者 看这个video http ww
  • iPhone sqlite 应用程序可以附加到其他数据库吗?

    ATTACH DATABASE 命令对于在 sqlite 数据库文件之间传输行非常有用 并允许您跨数据库连接表中的行 例如 sqlite3 BookLoansDB sqlite sqlite gt ATTACH DATABASE Users
  • Android - 使用图像资源背景动态构建 UI 时出现内存泄漏

    我有一个活动 我发誓正在泄漏内存 我正在开发的应用程序需要处理大量图像 因此在直接使用位图时 我必须非常吝惜内存 我添加了一个 Activity 现在如果您使用这个新 Activity 它基本上会让我处于内存使用的边缘 最终抛出 位图超出
  • Ubuntu 中的 .m2 、settings.xml [重复]

    这个问题在这里已经有答案了 在 Windows 环境中 您将在 C Users user name 位置中有 m2 文件夹 您将把 settings xml 文件复制到其中 以便设置代理设置和 Nexus 存储库位置等 那么我必须在 Ubu
  • 多个 CALayers 动画 - 填充模式

    我将屏幕分成小块 然后为每个块设置动画以执行转换 for int x 0 x
  • javascript能区分左移键和右移键吗?

    大多数情况下 这是一个健全性检查 两个 Shift 键的键码都是 16 这是否意味着浏览器中实际上无法区分左移和右移事件 在较新的浏览器中支持DOM3您可以使用event location检查位置 In DOM3 规范 http www w
  • 安装和导入 SendKeys 时出现问题 -- 更新

    我正在尝试安装适用于 Python 的 SendKeys If I use pip install SendKeys 我收到链接错误 sendkeys c 150 warning C4013 Py InitModule undefined
  • 如何在 TypeScript 中使用回调正确处理 let-variables?

    在使用 TypeScript 期间 我对一种常见的 JavaScript 模式有点挣扎 是关于 声明一些 let 变量而不为其设置任何初始值 在某个回调中将此值设置为变量 执行回调后使用此变量 这是代码示例 const wait cb Fu
  • 最小值应匹配过滤查询

    是否可以有这样的查询 query filtered filter terms names Anna Mark Joe execution and 随着 minimum should match 2 陈述 我知道我可以使用一个简单的查询 我已
  • t-sql 求和时间戳之间的差异

    我正在跟踪机器状态 可以是 0 1 和 2 并将该数据与 time stamp 一起存储在 SQL 表中 我在 sql server 中有一个表 其中包含下一个字段 id 整数 时间戳 日期时间 机器状态 int 机器状态与机器状态相关 m
  • ST_MAKELINE 丢弃重复点,即使不连续

    考虑这个简化的例子 SELECT ST MAKELINE ST GEOGPOINT 5 51 ST GEOGPOINT 5 52 ST GEOGPOINT 5 51 我希望这能构建一条包含三个点的线 并在自身上加倍 相反 我得到的是 LIN
  • Django - Ajax 注册

    我正在尝试允许注册 使用此django registration register http docs b list org django registration 0 8 views html registration views reg
  • 应用程序服务器是否为同一用户的每个请求创建新线程?

    这是一个简单的场景 用户从 Web 应用程序的网页触发某些操作 这项手术是一项繁重的手术 需要更多的时间 在服务器端完成操作之前 用户触发使用一些不同参数的相同操作 因此第二个请求的第二个操作也将开始处理 那么在这种情况下 是否有两个不同的
  • 如何避免 jq 截断长小数

    如何防止 jq 截断长十进制值 例如 echo 18302628978110292481 jq 结果 18302628978110292000 Javascript 不支持这么大的数字 所以也不支持jq 整数大小是2 53 Check th
  • 我们如何在 Angularjs 指令之外使用 $compile

    我想用 compile在函数内的控制器中而不是在指令中 是否可以 我正在尝试下面的代码 compile div Cancel div scope 但这会抛出范围未定义的错误 我试图通过 scope在函数内部 但它不起作用 Angular 如
  • 为什么 Docker 中的 pg_restore 出现段错误?

    我正在 docker 容器内测试 postgres 数据库的备份 恢复过程 我像这样转储我的数据库 docker exec ti my postgres container pg dump Fc U postgres gt db dump
  • d3.js:限制画笔大小

    有没有办法限制画笔的大小 即使范围更大 我制作了一个只有 x 刻度的画笔 可以移动和调整大小 我希望能够限制用户调整大小的范围 基本上仅限于某个点 在以下示例中 当画笔大于最大范围的一半时 画笔函数停止更新 不过 刷子本身仍然可以延长 有没
  • 文本区域的 ngModel 无法在 Angular 2 中工作

    我正在尝试使用在文本区域中打印 json 对象ngModel 我做了以下工作
  • 无法在动态链接库 sfml-graphics-2.dll 中定位过程入口点 _ZSt24__ throw_out_of_range_fmtPKcz

    今天我决定下载 安装并尝试使用 SFML 2 2 我还使用 MinGW 编译器下载了 Code Blocks 我设置了所有内容并正确安装了所有内容 或者我是这么认为的 并尝试运行示例代码以查看它是否有效 include