SFML库无法找到.dll

时间:2014-03-18 14:41:29

标签: c++ visual-studio-2010 visual-studio-2013 sfml

我将SFML库每晚构建实现到我的Visual Studio 2013,因为原始版本与此VS版本不兼容。我完成了所需的一切(在Debug和Release中将目录添加到include文件夹,将目录添加到.dll文件),但它无法在程序中找到文件。还有什么办法让这个图书馆工作?或者我应该考虑将Visual Studio更改为2010年?

1 个答案:

答案 0 :(得分:0)

你没有真正提供太多信息所以我只是在猜测问题是什么。

  

将目录添加到.dll文件

但这听起来像是你的问题。您不会将.dll文件所在的目录添加到项目中。您需要添加到项目的唯一目录是include目录和库目录。

但无论如何我假设你正在使用动态链接,否则你不会处理.dll。现在不同的IDE要求你将.dll放在不同的位置但是因为你正在处理VS2013,你需要将你正在使用的任何.dll复制到程序的编译可执行文件所在的同一个文件夹中(.exe文件)。 p>

另一种选择是静态链接而不是动态链接,我通常更喜欢在小型项目上进行链接,但这完全取决于他喜欢的开发人员。

当您静态链接时,您不需要包含任何.dll。您需要做的是重新编译SFML的源代码并确保构建库以便生成静态库文件(它们的名称应该类似于sfml-graphics-sd.lib for debug和sfml-graphics-sd.lib for release )。

将包含静态库文件的库目录添加到项目中,然后在VS的输入窗口中链接到它们.lib文件(请记住,-d用于调试版本)。

接下来,您需要在发布和调试版本的预处理器选项中添加SFML_STATIC

之后你就可以了,不需要在项目中包含.dll文件。而且,无论您选择动态链接还是静态链接,都取决于您和您正在处理的项目,但对于小型项目,我建议您静态链接。