打开Windows字体文件时C ++ SFML未处理的异常

时间:2015-08-20 11:50:24

标签: c++ linux windows visual-studio-2010 sfml

问题概述

我正在研究一个项目,该项目将用于科学实验室以记录数据。我最初在Linux上编写并编译了我的代码,所有工作都没有任何问题。我通常不会在Windows上编程(有充分的理由 - 你会很快看到原因),但不幸的是,在这种情况下,实验室只有Windows PC,所以我必须将项目迁移到Windows。

我已经在这方面工作了好几天,在动态/静态链接方面苦苦挣扎。我首先尝试使用Code :: Blocks,但是虽然程序编译和链接很好,但它在运行时崩溃了,因为某些标准库dll没有包含函数入口点或者其他东西......所以我改为Visual Studio,我想我现在已经在发布模式下正确编译和链接了 (这很重要因为某些原因我不知道为什么?)

我现在遇到的问题是,当程序运行时,SFML函数sf::Font.loadFromFile()会导致"未处理的Win32异常"

最小示例

很多Stack Overflow用户在发布一个最小的例子时会被滥用,所以我要小心创建一个绝对最小的例子,希望我不会掉下那个兔子洞。

#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

int main(int argc, char * argv[])
{
    sf::Font font;
    font.loadFromFile("C:\\WINDOWS\\Fonts\\Arial.ttf");
    return 0;
}

编译链接详细信息

我正在使用Windows XP笔记本电脑进行编译。我安装了Visual Studio 2010。我使用的是SFML版本2.3.1-windows-vc10-32-bit。我已将include目录添加到项目设置中的其他包含目录。我添加了预处理器定义SFML_STATIC,我正在连接静态库,例如; sfml-system-s.lib

VS项目中列出链接器选项的顺序为:

winmm.lib
sfml-system-s.lib
opengl32.lib
gdi32.lib
sfml-window-s.lib
freetype.lib
jpeg.lib
sfml-graphics-s.lib

使用F7构建时没有警告或错误。我希望这是足够的信息。

确切错误

Error as shown on screen.

我昨天更新了我的图形驱动程序。

0 个答案:

没有答案