Forum de la communauté SFML

Aide => Audio => Discussion démarrée par: Rodd le Mai 16, 2015, 05:50:18 pm

Titre: Création d'une librairie linux, oubli de dépendance ?
Posté par: Rodd le Mai 16, 2015, 05:50:18 pm
Bonjour :)

j'essaye de compiler ma librairie Linux qui se base sur SFML. Seulement j'ai une erreur dans SoundSource.hpp au niveau de enum Status. "expected identifier before 'int' à la ligne 50.

Chose que je n'ai pas sous Windows, donc il me semble avoir oublié une libraire pour l'audio pour Linux mais j'ai tout passé en revue, je n'arrive pas à trouver lequel manque :)

-lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lsfml-network-s -lsfml-audio-s -lfreetype -lglew -ljpeg -lopengl32 -lwinmm -lgdi32 -lopenal32 -lws2_32 -lsndfile -lboost_system-mgw48-s-1_55 -lboost_filesystem-mgw48-s-1_55 -lboost_thread-mgw48-mt-s-1_55

Merci !
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Laurent le Mai 16, 2015, 05:57:03 pm
Sûrement un conflit avec une macro d'une autre bibliothèque. Ce serait pas la première fois que ça arrive.

Assure-toi que <SFML/Audio.hpp> est toujours inclus en premier, et vois si ça résout l'erreur.
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Rodd le Mai 16, 2015, 06:08:45 pm
Il y a qu'un seul #include <SFML/Audio.hpp> dans mon projet et il se situe dans Sound.hpp et il était déjà au dessus, donc non :s

#ifndef SOUND_HPP_INCLUDED
#define SOUND_HPP_INCLUDED

#include <SFML/Audio.hpp>
#include <boost/thread.hpp>
#include "../system/File.hpp"
#include "../system/Conversion.hpp"
#include <string>
#include <cstdarg>


Maintenant Sound.hpp est include dans d'autres, mais pas forcément en premier, mais il me semble que ca doit pas trop jouer. :s
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Rodd le Mai 16, 2015, 07:04:14 pm
Et bien j'ai réorganisé mes includes pour faire toujours apparaître l'Audio en premier mais maintenant j'ai le même problème de statut pour le Status du Network.

C'est un peu embêtant car pour celui là, je ne sais pas si je pourrai réarranger le tout.
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Laurent le Mai 16, 2015, 07:11:52 pm
Il pourrait aussi être intéressant d'identifier l'en-tête qui définit la macro Status.

En attendant tu peux aussi faire systématiquement un #undef Status avant chaque en-tête SFML network ou audio.
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Rodd le Mai 16, 2015, 08:01:42 pm
Effectivement, ca fonctionne ! Merci beaucoup pour cette astuce, mais maintenant j'ai un souci dans le même genre avec None de sf::Style::None
renderWindow.create(videoMode, title, (fullscreen ? sf::Style::Fullscreen : sf::Style::None), settings);
                                                                                       ^
error: expected ')' before numeric constant make: ***

Seulement je ne pense pas que ca soit un problème de macro cette fois :)

En tout cas merci de votre aide ! Et merci pour tout SFML ;)
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Laurent le Mai 16, 2015, 09:08:17 pm
Si. None est une macro définie dans Xlib.h.
Titre: Re : Création d'une librairie linux, oubli de dépendance ?
Posté par: Rodd le Mai 17, 2015, 05:22:53 pm
Ah ok très bien merci, je regarderai ça quand j'aurai le temps et je ferai un retour plus tard pour confirmer que c'était bien ça :) merci !