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

can't run a program that uses sfml in Linux

本文关键字:sfml 程序 运行 Linux      更新时间:2023-10-16

我正在运行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。它没有给我任何错误信息,所以似乎可以安全地假设它已成功安装。

我编写了本教程中给出的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

为什么我不能运行程序?

必须为libsfml安装开发库:

sudo apt-get install libsfml-dev
下步骤:

apt-get build-dep libsfml

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

这类特殊的库通常用apt

安装

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

sudo ./a.out