“无法打开文件libc ++ abi.dylib”。程序生成,但是在运行时崩溃。使用xcode 10.1(10B61)

时间:2019-03-25 04:29:06

标签: c++ xcode sfml

新手在这里。我正在遵循这个SFML蓬松小鸟教程。我目前停留在创建“飞溅状态”(或徽标加载屏幕)的阶段创建的这一部分。其代码与here完全相同。

我正在使用xcode 10.1。

项目建立。但是当我尝试运行它时,它崩溃了,并为我带来了以下惊喜:

  

无法加载图像“ Resouces / res / Splash Background.png”。原因:无法打开文件   libc ++ abi.dylib:以类型为std :: out_of_range的未捕获异常终止:map :: at:找不到密钥   (lldb)”

如果我正确理解它,则表示它无法执行在上述路径下加载图像的操作,因为它无法打开“ libc ++ abi.dylib”。现在程序已终止。 (请在此处确认或纠正我,以帮助我更好地理解此问题)

当我尝试寻找“ libc ++ abi.dylib”时,它丢失了。相反,我只能找到“ libc ++ abi.td”。

This线程说要在 Link Binary With Libraries 下添加该内容。那没有产生任何结果。

tutorial显示代码正在运行,并且预期会出现“飞溅状态”或徽标屏幕。相反,我的程序崩溃了,并且遇到了上述错误。

我想知道是否还有其他人遇到类似的问题?

1 个答案:

答案 0 :(得分:0)

已解决。这是我错字造成的...对不起。 我会尽力在这里为可能遇到相同问题的人进行解释:

游戏资产由地图管理,该地图是“ AssetManager”类的私有成员变量。错字在文件路径上。因此,由于文件路径无效,因此映射从未插入密钥。

以后访问地图时,由于没有插入任何内容(因为资产未加载),因此它将超出范围。

基本上,未打开“ libc ++ abi.dylib”的错误是由映射超出范围引起的。