Bonsoir tout le monde,
j'ai écrit un programme qui utilise readline:
char *seq;
seq = readline();
et quand je compile, il y a une erreur: undefined reference to 'readline'
Pourriez-vous m'aider....
Merci d'avance !!!
Gamisne
Bonsoir tout le monde,
j'ai écrit un programme qui utilise readline:
char *seq;
seq = readline();
et quand je compile, il y a une erreur: undefined reference to 'readline'
Pourriez-vous m'aider....
Merci d'avance !!!
Gamisne
hum
tu as bien rajouté ces includes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <stdio.h> #include <readline/readline.h> #include <readline/history.h>
Hiko-seijuro
n'cha - hoyoyo gang
espace perso : http://hiko-seijuro.developpez.com
dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
consulter les faqs : http://www.developpez.com/faq
PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL
Bonjour,
J'ai un problème similaire. Les includes sont présents.
/tmp/ccbSHKby.o: In function `main':
shell.c: (.text+0x5f): undefined reference to `readline'
collect2: ld a retourné 1 code d'état d'exécution
Dans le bash, "locate readline.h" ne retourne rien et pourtant libreadline5 est bien installé, de même que libreadline5-dev et -dbg. Leur version est 5.2-3build1.
Savez vous comment faire pour que les bibliothèques <readline/readline.h>
et <readline/history.h> soient présentes et accessibles?
Merci
Ce n'est pas un problème de compilation, c'est-à-dire d'includes mais un problème de link, c'est-à-dire de librairies.
Si la librairie s'appelle libreadline5, ajouter au link -lreadline5. Jeter un coup d'oeil dans les options de link de vos IDE (ou dans vos Makefiles).
Merci beaucoup de votre réponse.
Il s'agissait bien en effet de rajouter -lreadline.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager