# beep() en c++ sous XCode



## spiritmonger869 (19 Mai 2010)

Bonjour,

A la base je voulais jouer un son dans un programme (un chronomètre qui annonce toutes les minutes) mais après quelques recherches j'ai revu mes exigences à la baisse et je me suis dit qu'un simple "bip" du système ferait amplement l'affaire pour commencer.

Le programme est en c++ et je suis sous XCode.

J'ai voulu utiliser le tout bête "\a" mais cela ne fait rien. Pas d'erreur, mais pas de son non plus...

J'ai cherché sur le net et il se trouve que certaines personnes on aussi ce problème...
(J'ai même testé via le terminal que mon bip d'erreur fonctionne, et il marche : /usr/bin/printf "\a")

J'ai alors essayé d'utiliser la fonction beep() en ayant fait #include <curses.h>
Mais lors de la compilation j'ai l'erreur suivante :

"_beep", referenced from:
 _main in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Build failed (1 error)

Voici le prog tout simple pour tester le bip :


```
#include <iostream>
#include <cstdlib>

#include <curses.h>

using namespace std;

int main(){
	
	beep();

        return EXIT_SUCCESS;

}
```

Quelqu'un aurait-il une solution à l'un des problèmes ?
Merci d'avance !


----------



## ntx (19 Mai 2010)

spiritmonger869 a dit:


> Bonjour,
> Mais lors de la compilation j'ai l'erreur suivante :
> 
> "_beep", referenced from:
> ...


Il faut ajouter à ton projet la librairie "curse". Un simple header n'a jamais fait une librairie :rateau:


----------



## spiritmonger869 (19 Mai 2010)

Hmm, ceci explique cela 

Merci bien !

Par contre j'ai farfouillé dans mon mac et impossible de trouver quoi que ce soit qui s'apparente à la libraire curses... :mouais:

Suis-je complètement aveugle ou il y a un gag ?

J'ai regardé sur le net et rien trouvé...

Je suis maudit


----------



## Nyx0uf (19 Mai 2010)

```
gcc -o beeper main.c -lncurses
```


----------



## ntx (19 Mai 2010)

Et pour info, la lib est dans /usr/lib


----------



## clampin (20 Mai 2010)

Nyx0uf a dit:


> ```
> gcc -o beeper main.c -lncurses
> ```



pour un code c++ vaut mieux utiliser :  g++ -o beeper main.cpp -lncurses


----------

