【问题标题】:SFML 0x000007b Error When on Different MachineSFML 0x000007b 在不同机器上时出错
【发布时间】:2021-08-02 10:26:00
【问题描述】:

在 Visual Studio 中编译发布后,我的应用程序已成功创建并在我的机器上按预期工作。我在我的虚拟机(相同的操作系统/64 位)上对其进行了测试,启动后它返回了The application was unable to start correctly (0x000007b)。我有一个朋友测试它,他得到了同样的东西。

假设这是一个 DLL 错误,我已经通过 Dependency Walker 和 Process Monitor 运行了它,但以我有限的知识,我无法判断出了什么问题(链接在底部的日志)。下图显示了我在文件夹中链接的所有 DLL。

我还想再次澄清一下,这在我的计算机上运行没有错误。提前致谢。

Visual Studio 编译日志:https://pastebin.com/8TTPJxUC
PML 日志文件(进程监视器日志文件):https://www.mediafire.com/file/udhuv6jgt8lfyoo/sfmlGameLogs.PML/file
DWI 日志文件(Dependency Walker Image File)https://www.mediafire.com/file/p21r0oe0hbxlx5w/sfmlGameLogs.dwi/file

【问题讨论】:

  • 使用这个程序告诉你缺少什么 dll:https://github.com/lucasg/Dependencies 可能是由 32 位和 64 位混合引起的。也许另一台机器在您依赖但在此文件夹中没有的 dll 的路径中有 32 位版本。
  • @drescherjm 谢谢你的工作,很抱歉回复晚了。你能发布一个答案让我接受吗?
  • 启用加载器快照,系统将为您提供无法解决的确切依赖关系。假设这是一个依赖问题。 0x7B 听起来更像是代码中试图生成有效路径名的错误。开源软件假设每个 API 都使用 POSIX 文件系统约定的情况并不少见。

标签: c++ windows visual-studio sfml


【解决方案1】:

解决这个问题的一种方法是使用以下替代依赖来查看安装文件夹中是否缺少dllhttps://github.com/lucasg/Dependencies

问题可能是在另一个系统上找到了丢失的dll,但它是 32 位而不是 64 位。

使用我提到的程序而不是depends的主要原因是Depends在现代系统上存在误报。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 2015-11-05
    • 2016-03-25
    • 1970-01-01
    • 2016-11-17
    • 2016-08-15
    相关资源
    最近更新 更多