C++ SFML播放音频覆盆子圆周率

C++ SFML播放音频覆盆子圆周率,c++,audio,raspberry-pi,sfml,C++,Audio,Raspberry Pi,Sfml,无法让SFML处理Raspberry 这能做到吗?我需要播放几个声音文件,每个声音文件之间的间隔很短。并在我的mac电脑上成功制作了一个程序。这将用于RPi 有人成功地做到了吗 我试着用g++和code::blocks设置它,但无法使它工作,我认为这与链接文件有关。 但现在我开始怀疑这是否有可能 如果不是,有没有建议用一个简单的(我不是那种有经验的)图书馆来播放声音文件?一个用C++的树莓PI?p> 希望有人能尽快给我指出正确的方向……我最近设法让SFML2.0在我的raspi上工作,但这并不容

无法让SFML处理Raspberry

这能做到吗?我需要播放几个声音文件,每个声音文件之间的间隔很短。并在我的mac电脑上成功制作了一个程序。这将用于RPi

有人成功地做到了吗

我试着用g++和code::blocks设置它,但无法使它工作,我认为这与链接文件有关。 但现在我开始怀疑这是否有可能

<>如果不是,有没有建议用一个简单的(我不是那种有经验的)图书馆来播放声音文件?一个用C++的树莓PI?p>
希望有人能尽快给我指出正确的方向……

我最近设法让SFML2.0在我的raspi上工作,但这并不容易。 SFML 1.6适用于覆盆子皮,具有:

sudo apt-get install libsfml-dev
但我发现这与我用SFML2.X编写的程序不兼容。我还尝试过使用SFML提供的Linux 32位二进制软件包,但失败了。 我相信这样做的原因是因为raspi使用的是ARM处理器,而这不是构建的目的

我最终成功地从下载了Linux源代码。我得到了SFML2.0,因为我找到的从源代码构建SFML的说明是针对那个版本的,它足够新,可以正常工作,尽管您可能想尝试一个更新的版本。我下载了所有依赖项,并尝试使用我得到的脚本进行安装。这可能对您有用,但我在freetype库中遇到了问题。我找到的解决方案是将所有freetype头文件复制到父“include”目录。也许有更好的办法,但对我来说很有效。我希望这有帮助

编辑:我刚刚在一个新的Raspian安装上再次这样做。这次我使用了SFML2.3。我对freetype没有同样的问题,但我必须安装以下依赖项:

sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-image0-dev
sudo apt-get install libxcb-randr0-dev
sudo apt-get install libudev-dev
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libx11-dev
sudo apt-get install libxrandr-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libglew1.5-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libsndfile1-dev
sudo apt-get install libopenal-dev
sudo apt-get install cmake
sudo apt-get install g++
以下是我使用的脚本:

要安装依赖项,请执行以下操作:

sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-image0-dev
sudo apt-get install libxcb-randr0-dev
sudo apt-get install libudev-dev
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libx11-dev
sudo apt-get install libxrandr-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libglew1.5-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libsndfile1-dev
sudo apt-get install libopenal-dev
sudo apt-get install cmake
sudo apt-get install g++
要构建它:

echo Starting SFML 2.0 install
echo see install.log for install output..
echo No.. Really.. Read it, this is my first
echo batch script for linux, so expect bugs
echo especially because I can\'t be stuffed
echo using regex to look for error output


echo building make for dynamic release
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=TRUE > install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete

echo building make for dynamic debug
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=TRUE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete


echo building make for static release
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=FALSE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete


echo building make for static debug
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=FALSE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete
要运行这些,只需

  • 将它们复制到文本文件中

  • 用文件扩展名.sh保存它

  • 在属性中,使其可执行 (或者,在终端中:
    sudo chmod+x yourfile.sh

  • 打开它并单击“在终端中执行” (或者,在终端中:
    /yourfile.sh


  • 您需要SFML2吗?显然,SFML1.6可用于rpi,如果您真的需要SFML2.0,您需要自己编译它。我不知道你为什么要用代码块。我认为使用cmake和make来构建库会容易得多。cmake将告诉您是否缺少外部依赖项。我还读到SFML图形可能无法在rpi上正常工作。谢谢回复。你有关于如何构建库的指南吗?很好,我已经将我的应用程序改为使用SDL_Mixer。但是,我们将在未来的项目中尝试让SFML工作的方法!