SFML 2.0 Linux 安装问题
SFML 2.0 Linux installation issue
我尝试在 Ubuntu 15.10 上安装 SFML 2.0 但没有成功。
我遵循教程:http://www.sfml-dev.org/tutorials/2.0/start-linux.php。
我从 link 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 吗?
提前谢谢你。
fatal error: SFML/Graphics.hpp: No such file or directory.
绝对意味着您的提取过程未能正确复制目录结构。文件夹 SFML-2.0
不应在 /usr/local/
中。
- 解压 SFML-2.0 到目录
tar xvf SFML*.tar.bz2
- CD 到那个目录
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
我尝试在 Ubuntu 15.10 上安装 SFML 2.0 但没有成功。
我遵循教程:http://www.sfml-dev.org/tutorials/2.0/start-linux.php。 我从 link 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 吗?
提前谢谢你。
fatal error: SFML/Graphics.hpp: No such file or directory.
绝对意味着您的提取过程未能正确复制目录结构。文件夹 SFML-2.0
不应在 /usr/local/
中。
- 解压 SFML-2.0 到目录
tar xvf SFML*.tar.bz2
- CD 到那个目录
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