SFML 2.1 and Codeblocks Error: sfml-graphics-2.dll is missing from your computer
SFML 2.1 and Codeblocks Error: sfml-graphics-2.dll is missing from your computer
我刚刚开始使用 C++ 和 SFML,最终 运行 一切正常。在出现未定义引用错误之前,我意识到我一直在下载错误类型的 SFML,得到的是 SJLJ 而不是 DW2。问题已解决,但已被另一个问题取代;现在每当我 运行 一个 SFML 程序时,它都会打开一个小的 windows:
它说:
The program can't start because sfml-graphics-2.dll is missing from
your computer. Try reinstalling the program to fix this problem.
然后当您按"Ok"或关闭window时,程序将停止运行。不要混淆:程序从未打开,但在控制台上打开了。
这是直接从代码块教程站点复制粘贴的代码(可能没用):
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
SFML 默认是动态链接的,这意味着您需要将 sfml-graphics-2.dll(连同您使用的任何其他 SFML 子系统的 dll 文件)放在与您的可执行文件相同的目录中。
我遇到了类似的问题。我的错误是当我在编译器设置中链接库时忘记添加后缀“-s-d”。这个结尾可以让编译器和调试器正常运行。
从 SFML > bin
主目录复制所有 dll
文件并将它们粘贴到您的项目文件夹中。在我的例子中是 C:\Users\myname\Documents\Visual Studio 2017\SFML\SFML
如果您想要 运行 只需 exe
文件。将所有 dll
文件放在与主 exe
文件相同的目录中。
最佳选择是从 SFML-2.4.2 > bin 复制所有 .dll 文件。然后将它们传递到 C: > Windows > System32 文件夹。这就是您需要做的全部。
然后 运行 你的程序。
你将能够运行它。
我刚刚开始使用 C++ 和 SFML,最终 运行 一切正常。在出现未定义引用错误之前,我意识到我一直在下载错误类型的 SFML,得到的是 SJLJ 而不是 DW2。问题已解决,但已被另一个问题取代;现在每当我 运行 一个 SFML 程序时,它都会打开一个小的 windows:
它说:
The program can't start because sfml-graphics-2.dll is missing from your computer. Try reinstalling the program to fix this problem.
然后当您按"Ok"或关闭window时,程序将停止运行。不要混淆:程序从未打开,但在控制台上打开了。
这是直接从代码块教程站点复制粘贴的代码(可能没用):
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
SFML 默认是动态链接的,这意味着您需要将 sfml-graphics-2.dll(连同您使用的任何其他 SFML 子系统的 dll 文件)放在与您的可执行文件相同的目录中。
我遇到了类似的问题。我的错误是当我在编译器设置中链接库时忘记添加后缀“-s-d”。这个结尾可以让编译器和调试器正常运行。
从 SFML > bin
主目录复制所有 dll
文件并将它们粘贴到您的项目文件夹中。在我的例子中是 C:\Users\myname\Documents\Visual Studio 2017\SFML\SFML
如果您想要 运行 只需 exe
文件。将所有 dll
文件放在与主 exe
文件相同的目录中。
最佳选择是从 SFML-2.4.2 > bin 复制所有 .dll 文件。然后将它们传递到 C: > Windows > System32 文件夹。这就是您需要做的全部。 然后 运行 你的程序。 你将能够运行它。