probleme de bibliotheque
3 participants
Page 1 sur 1
probleme de bibliotheque
salut tout le monde
je travaille le projet de c sous linux sur un pc pas sur le bureau distant
et je rencontre un problème qui est le suivant il n'y a pas de bibliothèque ncurse et je n'arrive pas à l'installer comment dois je faire svp????
exemple de code ke j'ai taper:
#include <ncurses.h>
int main (void){
int x,y;
char message []="Hello world!(q pour quitter)";
initscr();
y=LINES/2;
x=(COLS-strlen(message))/2;
move(y,x);
printw(message);
refresh();
nodelay(stdscr,TRUE);
noecho();
while(getch()!='q');
endwin();
return 0;
}
puis j'ai compiler avec le shell et sa m'a donner sa ===>
seid@seid:~/Bureau$ gcc testc.c -lncurses -o testc
*testc.c:1:25: error: ncurses.h: Aucun fichier ou dossier de ce type
testc.c: In function ‘main’:
testc.c:6: error: ‘LINES’ undeclared (first use in this function)
testc.c:6: error: (Each undeclared identifier is reported only once
testc.c:6: error: for each function it appears in.)
testc.c:7: error: ‘COLS’ undeclared (first use in this function)
testc.c:7: warning: incompatible implicit declaration of built-in function ‘strlen’
testc.c:11: error: ‘stdscr’ undeclared (first use in this function)
testc.c:11: error: ‘TRUE’ undeclared (first use in this function)
je travaille le projet de c sous linux sur un pc pas sur le bureau distant
et je rencontre un problème qui est le suivant il n'y a pas de bibliothèque ncurse et je n'arrive pas à l'installer comment dois je faire svp????
exemple de code ke j'ai taper:
#include <ncurses.h>
int main (void){
int x,y;
char message []="Hello world!(q pour quitter)";
initscr();
y=LINES/2;
x=(COLS-strlen(message))/2;
move(y,x);
printw(message);
refresh();
nodelay(stdscr,TRUE);
noecho();
while(getch()!='q');
endwin();
return 0;
}
puis j'ai compiler avec le shell et sa m'a donner sa ===>
seid@seid:~/Bureau$ gcc testc.c -lncurses -o testc
*testc.c:1:25: error: ncurses.h: Aucun fichier ou dossier de ce type
testc.c: In function ‘main’:
testc.c:6: error: ‘LINES’ undeclared (first use in this function)
testc.c:6: error: (Each undeclared identifier is reported only once
testc.c:6: error: for each function it appears in.)
testc.c:7: error: ‘COLS’ undeclared (first use in this function)
testc.c:7: warning: incompatible implicit declaration of built-in function ‘strlen’
testc.c:11: error: ‘stdscr’ undeclared (first use in this function)
testc.c:11: error: ‘TRUE’ undeclared (first use in this function)
sofian seid- Petit posteur
- Messages : 24
Date d'inscription : 04/12/2010
Localisation : New York City
Re: probleme de bibliotheque
Effectivement, tu n'as pas installé NCurses sur ta distribution Linux.
Marche a suivre pour installer NCurses sur Linux:
Voila voila, difficile hein ? x)
Marche a suivre pour installer NCurses sur Linux:
- Ouvrir le gestionnaire de paquets
- Rechercher "ncurses"
- Installer toutes les librairies avec écrit ncursed dedans en particulier ncurses-dev.
Voila voila, difficile hein ? x)
Re: probleme de bibliotheque
merci bastien de ta réponse
cependant peut tu préciser comment on fait les étapes ke ta énoncer?
j'ai déjà essayer de l'installer mais les erreurs sont tjrs présentes donc je l'ai mal fait car je connait vraiment pas linux (débutant).
cependant peut tu préciser comment on fait les étapes ke ta énoncer?
j'ai déjà essayer de l'installer mais les erreurs sont tjrs présentes donc je l'ai mal fait car je connait vraiment pas linux (débutant).
sofian seid- Petit posteur
- Messages : 24
Date d'inscription : 04/12/2010
Localisation : New York City
sofian seid- Petit posteur
- Messages : 24
Date d'inscription : 04/12/2010
Localisation : New York City
Re: probleme de bibliotheque
- System > Administration > Gestionnaire de paquets Synaptiques
- Tu entre ton mot de passe root
- Dans le champ tu recherche ncurses
- Tu coche les librairies avec ecrit libncurses dedans.
- Tu cliks sur appliquer et voila c'est installé.
Re: probleme de bibliotheque
merci tes vraiment sympa tu m'a apprit kelke chose
maintenant lol j'ai un autre problème kan je compile il y a une autre erreur regarde
seid@seid:~/Bureau$ gcc testc.c -lncurses -o testc
testc.c: In function ‘main’:
testc.c:7: warning: incompatible implicit declaration of built-in function ‘strlen’
j'ai pourtant essayer d'arranger le code de test.c(ci-dessous) mais marche tjrs pas
#include <ncurses.h>
int main (void){
int x,y;
char message []="Hello world!(q pour quitter)";
initscr();
y=LINES/2;
x=(COLS-strlen(message))/2;
move(y,x);
printw(message);
refresh();
nodelay(stdscr,TRUE);
noecho();
while(getch()!='q');
endwin();
return 0;
}
maintenant lol j'ai un autre problème kan je compile il y a une autre erreur regarde
seid@seid:~/Bureau$ gcc testc.c -lncurses -o testc
testc.c: In function ‘main’:
testc.c:7: warning: incompatible implicit declaration of built-in function ‘strlen’
j'ai pourtant essayer d'arranger le code de test.c(ci-dessous) mais marche tjrs pas
#include <ncurses.h>
int main (void){
int x,y;
char message []="Hello world!(q pour quitter)";
initscr();
y=LINES/2;
x=(COLS-strlen(message))/2;
move(y,x);
printw(message);
refresh();
nodelay(stdscr,TRUE);
noecho();
while(getch()!='q');
endwin();
return 0;
}
sofian seid- Petit posteur
- Messages : 24
Date d'inscription : 04/12/2010
Localisation : New York City
Re: probleme de bibliotheque
faut ajouter la bibliothèque string.h si je me trompe pas. Un oubli parmi tant d'autre dans le poly
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
String.h c'est juste pour la fonction strlen() donnant la taille d'un tableau de caractère donc sa n'a pas de rapport avec ncurse ^^
Parmis les fautes du poly il y aussi:
Parmis les fautes du poly il y aussi:
- Pour compiler la commande est:
- Code:
gcc tonFichier.c -o tonProgramme -lncurses
- la fonction pour attendre un certain temps est celle-ci:
- Code:
#include <unistd.h>
usleep(1000000); //attends 1 seconde
Re: probleme de bibliotheque
tu es sur que 1 000 000 ms = 1 sec ?
et je disais string.h car il avait justement une erreur pour strlen
et je disais string.h car il avait justement une erreur pour strlen
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
merci christophe et bastien pour votre aide
c'est super sympa merci encore
c'est super sympa merci encore
sofian seid- Petit posteur
- Messages : 24
Date d'inscription : 04/12/2010
Localisation : New York City
Re: probleme de bibliotheque
c'est peut-être à cause de ce soucis de conversion que je voyais aucune différence quand j'avais ajouté
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
Surement, si tu met une valeur trop petite, tu ne verras rien.
Il faut aussi savoir que usleep() est, comme toutes les fonctions de type "sleep", assez peut précises. En effet, il peut y avoir un décalage de plus ou moins 10 mini-secondes.
Il faut aussi savoir que usleep() est, comme toutes les fonctions de type "sleep", assez peut précises. En effet, il peut y avoir un décalage de plus ou moins 10 mini-secondes.
Re: probleme de bibliotheque
Dis moi .... tu l'as fais sous linux bastien ? car sous window, usleep(1) = 1sec ^^ voilà une partie d’implémenter lol Je trouvais bizarre que plus je mettais de 0 plus elle allait vite XD
EDIT : en fait ça fait pas 1 sec ... mais si je mets usleep(1); le programme est ralentit ensuite si je mets usleep(0.9); ça change rien et usleep(10000...); ça fait la même chose que usleep(1);
Si quelqu'un a une page d'aide pour usleep ... je dois y aller
EDIT : en fait ça fait pas 1 sec ... mais si je mets usleep(1); le programme est ralentit ensuite si je mets usleep(0.9); ça change rien et usleep(10000...); ça fait la même chose que usleep(1);
Si quelqu'un a une page d'aide pour usleep ... je dois y aller
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
Sur windows c'est different.
Oui je l'ai fait sous Linux.
usleep fonctionne aussi sur Windows mais le paramettre represente le temps a attendre en secondes. Donc c'est pas assez precis pour notre projet.
Oui je l'ai fait sous Linux.
- Comment arreter un programme en C sous Linux:
- Code:
#include <unistd.h>
usleep(temps); //temps est un integer en nanosecondes
- Comment arreter un programme en C sous Windows:
- Code:
#include <unistd.h>
Sleep(temps); //temps est un integer en minisecondes
usleep fonctionne aussi sur Windows mais le paramettre represente le temps a attendre en secondes. Donc c'est pas assez precis pour notre projet.
Re: probleme de bibliotheque
D'accord merci beaucoup un truc qu'il faudra que je repense a modifier au moment de compiler sous linux XD
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
Oui ^^
Si tu as installé NCurses grace a mon tutoriel, tu devra aussi changer:
Par
Si tu as installé NCurses grace a mon tutoriel, tu devra aussi changer:
- Code:
#include <curses.h>
Par
- Code:
#include <ncurses.h>
Re: probleme de bibliotheque
Oui ça je sais déjà ^^ merci quand même, j'avais réussit à l'installer et le faire fonctionner grâce au site anglais.
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
Bon ... je sais pas si ça vient de l'erreur que j'ai ou pas, j'essaierai de remettre le sleep plus tard mais le programme plante (windows dit qu'il plante) quand je mets le sleep. sa fonctionne bien mais au bout de 2 ou 3 changement paf planté.
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Re: probleme de bibliotheque
- Vérifie que tu as bien mis un s majuscule a "Sleep".
- Vérifie aussi tes erreurs de segmentation.
Re: probleme de bibliotheque
Oui j'ai bien mit un S majuscule si non il compile pas.
Segmentation ?
Enfin y a toujours mon autre soucis qui fait bien bugguer le programme, ça vient peut-être de là faudrait vraiment que j'arrive à le résoudre ><
Segmentation ?
Enfin y a toujours mon autre soucis qui fait bien bugguer le programme, ça vient peut-être de là faudrait vraiment que j'arrive à le résoudre ><
Christophe- Membre actif
- Messages : 195
Date d'inscription : 04/12/2010
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|