Scratchbox2 renvoie “déclaration Implicite de la fonction getline”, parmi d'autres comportements bizarres
Je suis en train de cross compiler mon application pour le maemo environnement (GNU).
Lors de la compilation de l'application normalement, tout fonctionne bien, mais lorsqu'il est compilé par sb2 le message d'avertissement suivant apparaît:
$ sb2 gcc -D_GNU_SORCE -o app -Wall -g -I.......//don't think this is relevant
In file included from wifi_collector_menu.c:50:
wifi_collector_list.c: In function `show_net_apns':
wifi_collector_list.c:777: warning: implicit declaration of function `getline'
Je suis complètement confus quant à pourquoi cela se produit, il y a d'autres getlines qui font du travail dans le programme, j'ai essayé de définir la variable _GNU_SOURCE à la fois dans le code et dans la commande du compilateur (pas en même temps)
C'est la ligne de code qui provoque l'avertissement apparemment:
size_t bytesnum = MAX_ESSID;
size_t bytes_read;
char *netname = NULL;
printf("Enter name of selected network:");
bytes_read=getline(&netname,&bytesnum,stdin);//This line
Toute aide serait appréciée, merci d'avance.
Aussi, l'application ne reconnaît pas correctement la valeur EOF que nous utilisons dans la version de bureau de détecter lorsque les touches Ctrl+D est pressé.
OriginalL'auteur Jaime Borondo | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
Problème résolu, tout ce que j'avais à faire était d'ajouter:
Dans chaque fichier d'en-tête, avant stdio.h a été inclus, très simple, vraiment.
Je pense que cette info est supposé connu entre programmeurs car j'étais incapable de le trouver n'importe où en ligne, et a dû demander à ma programmation en C professeur personnellement, et même alors, nous avons eu quelques difficultés à trouver la source.
Merci quand même.
OriginalL'auteur Jaime Borondo
Changer votre compilateur pour inclure la
-E
option et rediriger la sortie. Le compilateur ne pré-proccess votre fichier lorsque cette option est utilisée. Faites cela pour les deux versions, avec et sanssb2. getline()
l'on trouve normalement dansstdio.h
. Grâce à la visualisation de la séquence de sortie des deux versions, vous devriez être en mesure de voir oùgetline()
est inclus à partir de.OriginalL'auteur scanjr