我在使用SFML遇到问题后遇到了问题,但希望最终还是值得的。
这是错误:
致命错误:SFML / Graphics.hpp:没有这样的文件或目录
和代码:
#include < SFML/Graphics.hpp >
#include < SFML/Window.hpp >
int main(){
sf::RenderWindow Window;
Window.create(sf::VideoMode(800, 600), "SFML");
while(Window.isOpen()){
sf::Event Event;
while(Window.pollEvent(Event)){
if(Event.type == sf::Event::Closed)
Window.close();
}
}
}
答案 0 :(得分:2)
您需要告诉编译器在哪里查找SFML头文件。这可以通过在编译器调用中传递-I
标志来完成:
-I/path/to/SFML/headers
答案 1 :(得分:1)
我对此很新,但是如果您按照教程进行操作,那么您可能将.hpp文件的路径设置为/ include,但.hpp文件实际上位于/ include / SFML
#include <include/SFML/Graphics.hpp>
答案 2 :(得分:0)
如果您正在使用windows visual studio命令行编译器,则include语法为:
/I"path\to\SFML\headers"
答案 3 :(得分:0)
我猜你错了另外的包含和/或库。再次检查 - 如果问题仍未解决 - 请确保 - 如果您没有使用SFML静态 - 如果 SFML DLL 文件位于正确的目录中
我个人发现,将整个SFMl文件夹放入 C 驱动器是个好主意。
修改强> SFML和链接器的一个常见错误是编写了graphic-d.lib而不是 graphics-d.lib (在调试模式下)
答案 4 :(得分:0)
如果您使用的是Linux,那么走这条路是可行的方法:
sudo apt-get install libsfml-dev
在以下文档中找到它: https://www.sfml-dev.org/tutorials/2.1/start-linux.php
答案 5 :(得分:-2)