begin process at 2012 05 28 18:22:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Multimédia

 > 

[dev c++ / SFML] compilation OK mais exécutables muets o_O


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[dev c++ / SFML] compilation OK mais exécutables muets o_O

samedi 13 février 2010 à 22:40:18 | [dev c++ / SFML] compilation OK mais exécutables muets o_O

dubstructor

Bonsoir à tous,

ce post s'adresse à ceux qui sont familiers avec SFML.

voilà après m'être bataillé un après midi, j'ai enfin réussi à compiler une petite appli SFML sous dev c++ . Seulement voilà, à l'exécution il ne se passe rien d'autre que le "system("PAUSE") ;" de la fin qui nous invite gentiment à taper sur le clavier et rentrez chez vous y'a plus rien à voir.

Alors comme je l'ai dit je suis sous dev c++, et plus généralement sous win XP (j'ai aussi codeblocks pour des applis sur microcontrolleurs, et comme le tuto SFML est fait pour codeblocks j'ai essayé cette voie là, j'ai rien réussi à en tirer.)
Donc voilà, j'ai bien mis tous les includes dans le bon dossier, les libs aussi, je me suis arraché les cheveux un bon moment avant de comprendre que quand dev c++ voyait "\lib\" dans ses chemins d'accès, il n'allait pas chercher "\lib\mingw\" tout seul comme un grand. J'ai commencé par les versions dynamiques des librairies, en mettant bien les dll dans mon répertoire projet et avec la #define SFML_DYNAMIC. Rien (enfin compilation OK mais c'est tout).
Du coup je suis passé aux versions statiques, et là il s'est enfin passé quelque chose : la compilation s'est bien passée, mais à l'exécution il manquait openAl32.dll . L'erreur corrigée, même chose : un exécutable muet.

Concrètement, c'est juste pour une appli audio, donc :
-lsfml-audio-s
-lsfml-system-s
sont linkés (enfin pour les versions statiques), dans cet ordre ;
openAl32.dll figure évidemment en bonne place dans le dossier projet ;
du coup on n'a plus besoin des autres dll mais je les ai quand même mises histoire d'être sûr (lbsndfile-1.dll,sfml-audio.dll,sfml-system.dll).

Le code test est :

Code C/C++ :

////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Audio.hpp>
#include <iomanip>
#include <iostream>


////////////////////////////////////////////////////////////
/// Entry point of application
///
/// \return Application exit code
///
////////////////////////////////////////////////////////////
int main()
{
    // Load a sound buffer from a wav file
    sf::SoundBuffer Buffer;
    if (!Buffer.LoadFromFile("sound.wav"))
        return EXIT_FAILURE;

    // Display sound informations
    std::cout << "sound.wav :" << std::endl;
    std::cout << " " << Buffer.GetDuration()      << " sec"           << std::endl;
    std::cout << " " << Buffer.GetSampleRate()    << " samples / sec" << std::endl;
    std::cout << " " << Buffer.GetChannelsCount() << " channels"      << std::endl;

    // Create a sound instance and play it
    sf::Sound Sound(Buffer);
    Sound.Play();

    // Loop while the sound is playing
    while (Sound.GetStatus() == sf::Sound::Playing)
    {
        // Display the playing position
        std::cout << "\rPlaying... " << std::fixed << std::setprecision(2) << Sound.GetPlayingOffset() << " sec";

        // Leave some CPU time for other threads
        sf::Sleep(0.1f);
    }
    std::cout << std::endl;

    // Wait until the user presses 'enter' key
    std::cout << "Press enter to exit..." << std::endl;
    std::cin.ignore(10000, '\n');

    return EXIT_SUCCESS;
}


Et voilà au final aucun problème de compil, les headers sont détectés, les librairies aussi, et mon exé est muet. Même en ligne de commande.
(Note : un fichier "sound.wav" bidon est présent, et même si je supprime tout le code concernant les objets sf, et que je mets un cout, rien ne s'affiche .)
En fait après divers tests, je me suis rendu compte que le simple fait de lier ces librairies me sort des exécutables muets. Du genre je fais un "hello world" (même avec un #include d'un header SFML), nickel, mais quand je linke ces librairies, ça compile mais ... rien.

So WTF ?????????
dimanche 14 février 2010 à 13:17:59 | Re : [dev c++ / SFML] compilation OK mais exécutables muets o_O

dubstructor

Nan ? Personne ?
dimanche 14 février 2010 à 13:24:15 | Re : [dev c++ / SFML] compilation OK mais exécutables muets o_O

dubstructor

Ouah c dingue j'ai fait une énième recherche désespérée et google me trouve ce topic en premier
dimanche 14 février 2010 à 13:27:52 | Re : [dev c++ / SFML] compilation OK mais exécutables muets o_O

dubstructor

Tiens au passage j'ai trouvé ça :
why you shouldn't use dev c++
lundi 15 février 2010 à 11:45:00 | Re : [dev c++ / SFML] compilation OK mais exécutables muets o_O

mogwai93

Je repondrais pour le dernier lien (je ne connais pas SFML) :
- il ne faut pas confondre EDI et compilateur
- un logiciel mis à jour n'est pas forcément meilleur qu'un logiciel concurrent non mis à jour (et inversement)
- codeblock n'a pas été mis à jour pendant plus de 2ans, pourtant il était toujours utilisé...
- ....

- que l'on perde des évolutions ou des options : là ok, mais pour le reste, ca dépend de trop de paramètres : ce revient à comparer 2 choses totalement différents qui ont vocation à obtenir le meme résultat
bref ca pourrait faire l'objet d'un débat



dans ton cas, c'est peut-être plus un pb avec gcc qu'avec devcpp (ou un pb de code)
regarde la version de gcc que tu utilises et si elle est sensée fonctionner correctement avec SFML ou si dans certains cas, ca ne fonctionne pas correctement
mercredi 24 février 2010 à 13:41:41 | Re : [dev c++ / SFML] compilation OK mais exécutables muets o_O

dubstructor

Salut. De retour après une bonne semaine de vacances ^^

Bon OK c'est vrai que mon sens critique aurait dû me hurler que dans ce lien l'amalgame est joyeusement fait entre EDI et compilo... Donc on va gentiment oublier cet épisode surtout que ça fait pas avancer le schmilblick.

Donc un pb de code, j'utilise le code donné en exemple sur le site de SFML, et de ce que j'ai compris du premier tuto il ne me semble pas contenir d'erreurs...

Par contre, pour avoir essayé aussi avec codeBlocks sur gcc, je soupçonne plus une erreur du compilo, comme tu suggères. Seulement ma version de minGW est plus récente que SFML. Donc là je suis paumé ...


Cette discussion est classée dans : dll, cout, std, sound, sfml


Répondre à ce message

Sujets en rapport avec ce message

calcul d'un modulo [ par cabarrus ] Qui peu m'aidé s.v.p pour ce problème...Ecrire un prog qui demande 2 nbres à l'utilisateur et qui affiche le reste de la division du 1er par le second dur d'apprendre c++ [ par busta74 ] je dois ecrire un programme qui exploite des fonction individuelles pour demander l'age, lire cet age saisi au clavier , et utiliser cette valeur pour problème de chaine de caractères (débutant) [ par graall ] salut à tous, j'ai un gros problème avec ce code : (le problème est expliqué dans les commentaires)     FILE *pReference = fopen(reference_path, "r") Aide [ par Hellboy67 ] Voila j'ai un exo pour les cours de prog a faire dont le code source est le suivant:# include # include using std::cout;using std::cin;using std::end Prob en release [ par gbourgeois0019 ] Bonjour,    Je suis en train de travailler sur un petit prgramme qui utilise FMODEX et lorsque je compile en debug je n'obtient aucune erreur et tout Allocation statique ou dynamique [ par luhtor ] Bon alors, j'ai un exemple de programme. Mais je me pose la question de sa validité sachant que ce que vous allez voir. C'est correct dans certain lan Opérateur de comparaison dans une classe générique [ par benjiiim94 ] Bonjour, Je crois que pas mal d'infos sont dans le titre, il ne manque plus que la source de la classe : #pragma once #include "StdAfx.h" using n console [ par vbnino ] Salut!  -Voici mon code:      std::cout       int nom;      nom=getchar();      std::cout -le probléme c'est que au resultat il me renvoi "Bon soucis avec une classe CChaine [ par coolD ] Qui va lentement va plus loinCoolDBonjour à tous, je dois implémenter pour un exercice de classe une classe de chaine de carcatères. L'utilisateur doi surcharge stream operator [ par Joan_Andre ] Bonjour,Quelqu un pourrait il m expliquer la raison pour laquelle le code ci dessous ne fonctionne pas (je ne parviens pas a faire "entrer" le std::en


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales