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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 256
    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 256
    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 147
    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 147
    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.

+ 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