2015-08-28 3 views
1

Невозможно получить SFML для работы с малиной.SFML play audio малина PI

Можно ли это сделать? Мне нужно сыграть несколько звуковых файлов за короткое время между ними. И успешно сделали программу на моем mac. И это будет использоваться на RPi.

Неужели кто-нибудь сделал это успешно?

Я пытался настроить его с помощью g ++ и с кодом :: blocks, но не могу заставить его работать, я думаю, что это связано с привязкой файлов. Но теперь я начинаю задаваться вопросом, возможно ли это вообще?

Если это не так, любое предложение из простой (я не так опытной) библиотеки для воспроизведения звуковых файлов один малиновый pi с использованием C++?

Надежда кто-то может мне точку в правильном направлении быстро ....

+0

Вам нужен SFML 2? Очевидно, SFML 1.6 доступен для rpi https://www.raspberrypi.org/forums/viewtopic.php?t=42392&p=341532 Если вам действительно нужен SFML 2.0, вам нужно будет скомпилировать его самостоятельно. Я не знаю, почему вы пытались использовать кодовые блоки. Я думаю, было бы намного проще использовать cmake и сделать для создания библиотеки. cmake скажет вам, отсутствуют ли внешние зависимости. Я также читал, что графика SFML может работать неправильно на rpi. – Setepenre

+0

Спасибо за ответ. Есть ли у вас какие-либо руководства по созданию библиотеки? – Crytrus

ответ

3

Я недавно удалось получить SFML 2,0 работать на моем raspi, но это было не так просто. SFML 1,6 доступен для Raspberry Pi с:

sudo apt-get install libsfml-dev 

, но я нашел, что это не будет совместима с моей программой, написанной с SFML 2.X. Я также попытался и не смог использовать 32-битный пакет Linux SFML. Я считаю, что причиной этого является то, что в raspi используется процессор ARM, для которого не была построена эта сборка.

Наконец-то мне удалось загрузить исходный код Linux с the SFML download page. Я получил SFML 2.0, потому что инструкции, которые я нашел для сборки SFML из источника, были для этой версии, и она была достаточно новой, чтобы быть работоспособной, хотя вы можете попробовать более новую версию. Я загрузил все зависимости и попытался установить, используя сценарий, который я получил here. Это может сработать для вас, но я столкнулся с проблемами с библиотекой freetype. Решение, которое я нашел, это скопировать все файлы заголовков freetype в родительский каталог «include». Там может быть лучший способ, но это сработало для меня. Надеюсь, это помогло.

Редактировать: Я просто должен был сделать это снова на новой установке Raspian. На этот раз я использовал SFML 2.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++ 

строить это:

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 

запустить их, просто

  1. скопировать их в текстовый файл

  2. сохранить его с расширением файла.ш

  3. в свойствах, сделайте его исполняемым (или, в терминале: sudo chmod +x yourfile.sh)

  4. открыть его и нажмите кнопку 'выполнить в терминал' (или, в терминале: ./yourfile.sh)

+0

Отлично, я изменил свое приложение на использование SDL_Mixer. Но попробуй свой способ сделать работу SFML в будущем проекте! – Crytrus

Смежные вопросы