我在没有成功的情况下尝试在Ubuntu 15.10上安装SFML 2.0。
我按照教程:http://www.sfml-dev.org/tutorials/2.0/start-linux.php。 我从链接http://www.sfml-dev.org/download/sfml/2.0/下载了Linux存档。之后,我将存档解压缩到计算机上的/ usr / local /目录。我尝试编译以下代码:
#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;
}
当我使用以下代码编译代码时
g++ main.cpp -o main.o -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system
我得到了
fatal error: SFML/Graphics.hpp: No such file or directory.
使用
进行编译时g++ main.cpp -o main.o -I/usr/local/include -lsfml-graphics -lsfml-window -lsfml-system
我明白了:
/usr/bin/ld: cannot find -lsfml-graphics
/usr/bin/ld: cannot find -lsfml-window
/usr/bin/ld: cannot find -lsfml-system
当我用以下代码编译代码时:
g++ main.cpp -o main.o -lsfml-graphics -lsfml-window -lsfml-system
我得到了:
fatal error: SFML/Graphics.hpp: No such file or directory.
我在SFML2.0目录中尝试了sudo make install
,但我得到的只是install: missing file operand
安装2.0版本的SFML非常重要。我考虑过从包管理器安装SFML,但是sudo apt-get install libsfml-dev
我会得到更新版本的SFML,而不是2.0。
您能告诉我该如何在我的机器上正确安装SFML 2.0?
提前谢谢。
答案 0 :(得分:2)
fatal error: SFML/Graphics.hpp: No such file or directory.
绝对意味着您的提取过程无法正确复制目录结构。文件夹SFML-2.0
不应位于/usr/local/
。
tar xvf SFML*.tar.bz2
cd SFML-2.0
SFML-2.0/
(include
lib
和share
)中的目录手动复制到/usr/local
中各自的目录中
sudo cp -r share/SFML/ /usr/local/share/
sudo cp -r lib/* /usr/local/lib/
sudo cp -r include/SFML /usr/local/include/
(注意这会弄乱lib
)
在验证目录SFML-2.0/include/SFML
现在位于/usr/local/include/SFML
等之后尝试重新编译main