无法运行在Linux中使用sfml的程序

时间:2013-03-16 23:25:02

标签: c++ linux sfml

我正在运行Linux Mint。版本信息如下:

$ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=12
DISTRIB_CODENAME=lisa
DISTRIB_DESCRIPTION="Linux Mint 12 Lisa"

我通过下载tar文件,进入sfml文件夹并运行sudo make install来安装sfml。它没有给我任何错误消息,所以假设它成功安装似乎是安全的。

我写了this tutorial中给出的clock.cpp程序。我使用以下命令编译它:

$ g++ -c clock.cpp
$ g++ -o clock clock.o -lsfml-system

它没有输出,所以我认为编译很顺利。但是当我尝试运行它时问题就出现了。这是我尝试运行时钟可执行文件的结果:

$ ./clock
./clock: error while loading shared libraries: libsfml-system.so.1.6: 
         cannot open shared object file: No such file or directory

我尝试了教程提供的第二个编译选项,同样的事情发生了:

$ g++ -c clock.cpp
$ g++ -o clock clock.o -lsfml-graphics -lsfml-window -lsfml-system
./clock: error while loading shared libraries: libsfml-system.so.1.6: 
         cannot open shared object file: No such file or directory

为什么我不能运行程序?

2 个答案:

答案 0 :(得分:1)

您必须为libsfml安装开发库:

sudo apt-get install libsfml-dev

下一步:

apt-get build-dep libsfml

需要dev版本的包,因为头文件是必需的

此类特殊库通常与apt

一起安装

答案 1 :(得分:0)

我不知道为什么,但你必须以超级用户身份运行它。

sudo ./a.out