【问题标题】:First-chance exception at 0x0FBD8B51 (msvcr120d.dll) in Higher Or Lower.exe: 0xC0000005: Access violation reading location 0x74742E6CHigher or Lower.exe 中 0x0FBD8B51 (msvcr120d.dll) 的第一次机会异常:0xC0000005:访问冲突读取位置 0x74742E6C
【发布时间】:2015-09-07 00:45:03
【问题描述】:

我想制作一个程序,生成一个介于 1-10 之间的随机数,让玩家猜测下一个数字是更高还是更低。
我决定用 C++ 和 SDL SFML 编写代码。我有这个异常导致我的游戏崩溃:

First-chance exception at 0x0FBD8B51 (msvcr120d.dll) in Higher Or Lower.exe: 0xC0000005: Access violation reading location 0x74742E6C.

导致它的代码是:

if (!font.loadFromFile("arial.ttf"))
    cout << "Error: Can not load the font 'arial.ttf' from file!" << endl;

它在Release 中运行良好,但在Debug 中出现此运行时错误

【问题讨论】:

  • 您的文件arial.ttf 与您执行程序的位置相同,如果不是,您可以尝试提供整个路径。 Access violation reading location 0x74742E6C. 表示您尝试读取的位置不存在
  • @VinayShukla 它应该在哪里,我试过使用if(!font.loadFromFile("Higher Or Lower\Arial")),但它不起作用imgur.com/yEVSb5g
  • 访问冲突0x74742E6C 的地址恰好是'l.tt' 的十六进制表示,即从您的字体名称偏移4-7 处的字符。这几乎可以肯定是由于调试和发布编译文件之间的不匹配。它在release 中有效但在debug 中无效的事实表明您正在使用release 库和您的debug 构建。

标签: c++ exception sdl sfml


【解决方案1】:

我修复了它,这是一个 VS 错误。我做了一个新项目,它可以工作!

【讨论】:

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