IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Compilation d'un programme C++ sous Linux


Sujet :

C++

  1. #1
    Membre actif
    Homme Profil pro
    Ubuntu
    Inscrit en
    Janvier 2017
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ubuntu

    Informations forums :
    Inscription : Janvier 2017
    Messages : 69
    Par d�faut Compilation d'un programme C++ sous Linux
    Bonjour, j'ai ce code que je n'arrive pas � compiler sous Linux:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #include <iostream>
    #include <SFML/Audio.hpp>
    #include <SoundBuffer.hpp>
    #include <SoundBufferRecorder.hpp>
     
    using namespace std;
     
    int main(){
     
    if (!sf::SoundBufferRecorder::isAvailable()){cout<<"ERROR NO DEVICE FOUND";}
     
    sf::SoundBufferRecorder recorder;
     
    recorder.start();
     
    recorder.stop();
     
    const sf::SoundBuffer& buffer = recorder.getBuffer();
     
    return 0;}
    J'utilise la commande g++ cprogram.cpp -o cprogram, ce n'est visiblement pas la bonne, laquelle devrais-je plut�t utiliter ?

  2. #2
    Responsable Syst�mes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Ao�t 2011
    Messages
    18 267
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Gestion de parcs informatique
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Ao�t 2011
    Messages : 18 267
    Par d�faut
    Il nous faut l'erreur retourn�e par le compilateur.
    Regardes d�j� ici :
    https://www.sfml-dev.org/tutorials/2...t-linux-fr.php
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre actif
    Homme Profil pro
    Ubuntu
    Inscrit en
    Janvier 2017
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ubuntu

    Informations forums :
    Inscription : Janvier 2017
    Messages : 69
    Par d�faut
    Merci pour la r�ponse, je me suis content� d'installer la biblioth�que avec apt-get install libsfml-dev, je pense devoir placer le fichier texte � l'endroit o� elle se trouve, y aller avec l'invite de commande et faire g++ -c main.cpp puis g++ main.o -o -lsfml-audio, je ne sais pas o� trouver la biblioth�que.

    Pour l'erreur j'ai ceci cprogram.cpp:3:35: fatal error: SoundBuffer.hpp: No such file or directory compilation terminated.

    Ajout: j'ai trouv� la biblioth�que et tent� de compiler le fichier texte en le mettant � diff�rents endroits, dans le m�me fichier que celui de la biblioth�que, dans le fichier de la biblioth�que et dans quelques autres fichiers, rien n'a fonctionn�, toujours le message d'erreur.

  4. #4
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Citation Envoy� par Ubuntuhuit Voir le message
    g++ -c main.cpp puis g++ main.o -o -lsfml-audio
    O� se trouvent les include directory ? Les libs directory ? On peut link sfml audio sans sfml main ?
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  6. #6
    Membre actif
    Homme Profil pro
    Ubuntu
    Inscrit en
    Janvier 2017
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ubuntu

    Informations forums :
    Inscription : Janvier 2017
    Messages : 69
    Par d�faut
    Dans les deux derniers includes du code j'ai remplac� les chevrons par des guillemets et recompil� en mettant le fichier texte dans /SFML/Audio l'exacte emplacement des includes SoundBuffer et SoundBufferRecorder, la premi�re commande ne donne plus de message d'erreur, pour la deuxi�me commande g++ cprogram.o -o -lsfml-Audio j'ai ce message d'erreur:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sampling.o: In function `main':
    sampling.cpp:(.text+0x1c): undefined reference to `sf::SoundRecorder::isAvailable()'
    sampling.cpp:(.text+0x55): undefined reference to `sf::SoundRecorder::start(unsigned int)'
    sampling.cpp:(.text+0x64): undefined reference to `sf::SoundRecorder::stop()'
    sampling.cpp:(.text+0x73): undefined reference to `sf::SoundBufferRecorder::getBuffer() const'
    sampling.o: In function `sf::SoundBufferRecorder::SoundBufferRecorder()':
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderC2Ev[_ZN2sf19SoundBufferRecorderC5Ev]+0x15): undefined reference to `sf::SoundRecorder::SoundRecorder()'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderC2Ev[_ZN2sf19SoundBufferRecorderC5Ev]+0x1a): undefined reference to `vtable for sf::SoundBufferRecorder'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderC2Ev[_ZN2sf19SoundBufferRecorderC5Ev]+0x41): undefined reference to `sf::SoundBuffer::SoundBuffer()'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderC2Ev[_ZN2sf19SoundBufferRecorderC5Ev]+0x67): undefined reference to `sf::SoundRecorder::~SoundRecorder()'
    sampling.o: In function `sf::SoundBufferRecorder::~SoundBufferRecorder()':
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderD2Ev[_ZN2sf19SoundBufferRecorderD5Ev]+0xe): undefined reference to `vtable for sf::SoundBufferRecorder'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderD2Ev[_ZN2sf19SoundBufferRecorderD5Ev]+0x25): undefined reference to `sf::SoundBuffer::~SoundBuffer()'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderD2Ev[_ZN2sf19SoundBufferRecorderD5Ev]+0x41): undefined reference to `sf::SoundRecorder::~SoundRecorder()'
    sampling.cpp:(.text._ZN2sf19SoundBufferRecorderD2Ev[_ZN2sf19SoundBufferRecorderD5Ev]+0x7c): undefined reference to `sf::SoundRecorder::~SoundRecorder()'
    collect2: error: ld returned 1 exit status

  7. #7
    Membre Expert
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par d�faut
    Si SoundBuffer fait partie de SFML, pourquoi l'include n'est pas SFML/SoundBuffer ?

    Concernant la ligne de compilation, je ne sais pas si tu r�alises que -o attend un nom de programme ? Ce qui fait que -lsfml-Audio est le nom de ton ex�cutable, pas une option de link.

  8. #8
    Membre actif
    Homme Profil pro
    Ubuntu
    Inscrit en
    Janvier 2017
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ubuntu

    Informations forums :
    Inscription : Janvier 2017
    Messages : 69
    Par d�faut
    Le include de SoundBuffer est sous forme d'un fichier texte .hpp dans /HFML/Audio, � propos du second point en incr�mentant que le message d'erreur persiste tout de m�me ceci est-il plus correct g++ cprogram.o -o cprogram -lsfml-Audio ?

  9. #9
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    As-tu recherch� un peu ou tu tentes juste au petit bonheur et � taton en esp�rant viser juste un jour ?
    En 0.2s sur Google je tombe sur �a https://courses.cs.washington.edu/co.../unix/g++.html et ce que tu montres ne ressembles en rien � ce qui est attendu qui d'apr�s cette m�me page devrait �tre amha g++ -o cprogram -IPath/To/SFML cprogram.cpp -lsfml-audio ou pas loin, faut peut-�tre remettre dans l'ordre le tout.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  10. #10
    Membre Expert
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par d�faut
    Citation Envoy� par Ubuntuhuit Voir le message
    Le include de SoundBuffer est sous forme d'un fichier texte .hpp dans /HFML/Audio,
    Et bien fait un include de la forme #include <SFML/Audio/SoundBuffer.hpp>. Indiquer le chemin depuis le projet (SFML) et la bonne mani�re de faire. D�placer un source parce que les includes ne sont pas trouv�s est une mauvaise mani�re de proc�der.

    En plus, le compilo dispose d'option pour indiquer les chemins d'inclusions.

    > � propos du second point en incr�mentant que le message d'erreur persiste tout de m�me ceci est-il plus correct g++ cprogram.o -o cprogram -lsfml-Audio ?[/QUOTE]

    Oui, mais je doute qu'il y a un A majuscule.

    Comment � �t� install� la SFML ? O� se trouve libsfml-audio.so ?

  11. #11
    Membre actif
    Homme Profil pro
    Ubuntu
    Inscrit en
    Janvier 2017
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ubuntu

    Informations forums :
    Inscription : Janvier 2017
    Messages : 69
    Par d�faut
    Merci beaucoup � tous effectivement maintenant tout fonctionne avec les includes de cette forme #include "SFML/Audio/xxxx" et la commande avec audio a minuscule.

  12. #12
    Responsable Syst�mes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Ao�t 2011
    Messages
    18 267
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Gestion de parcs informatique
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Ao�t 2011
    Messages : 18 267
    Par d�faut
    Merci de marquer la discussion r�solue si ton prob. est r�gl�.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. compilation de programme C sous Linux
    Par fzh2014 dans le forum Linux
    R�ponses: 4
    Dernier message: 10/05/2012, 18h56
  2. comment compiler un programme c sous linux?
    Par diengsallah dans le forum Linux
    R�ponses: 11
    Dernier message: 13/09/2009, 08h57
  3. [Compilation Installation] Php avec apache sous linux
    Par c.tranquille dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 4
    Dernier message: 19/06/2006, 13h46
  4. [Forms 10g]Compilation de Forms 10 g sous linux
    Par lido dans le forum Oracle
    R�ponses: 2
    Dernier message: 31/01/2006, 09h08
  5. R�ponses: 2
    Dernier message: 25/10/2002, 22h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo