Setenv et Getenv sur mac OS

job2221

Membre confirmé
28 Octobre 2008
36
0
Bonsoir,

J'en appelle a votre aide car j'ai codé une fonction en C utilisant getenv et setenv et ca compile et fonctionne parfaitement sur fedora mais par contre une fois que j'essaie de compiler la meme chose sur mon mac, il me dit :
warning: implicit declaration of function ‘setenv’
warning: implicit declaration of function ‘getenv’

Quelqu'un saurait pourquoi ?
Merci d'avance.

Cordialement,
 
tu as installé XCode ? il est à jour?

est ce qu'un simple hello world fonctionne bien?

tu as bien les include présent dans /usr/include/ ?
 
Je n'utilise pas Xcode, je tape mon code sous emacs et compile avec la ligne de commande suivante : gcc -W -Wall -Wextra -Werror -std=c99 -pedantic -O2 -pipe -D_XOPEN_SOURCE=600 -g -ggdb

Pour le hello world oui, ca fonctionne parfaitement.

Et oui les include sont bien present dans usr/include/

Peut etre une erreur dans mes flag de compil?
 
Bon.. alors tu fais ce que tu veux mais : même si tu n'utilises pas XCode, tu devrai l'installer de façon à avoir quelque chose de propre et parfaitement fonctionnel même en ligne de commande. (je te suggérerai de dégager ce que tu as installé auparavant! et de refaire une install propre des outils de dev).

pour les flags de compil, avant d'en faire une liste à rallonge que tu ne sembles vraiment pas maitriser, compile déjà simplement!! et après réfléchis à ce que veulent dire ces flags...
 
J'ai un xcode installe et a jour. Je préfère juste coder sur le terminal.
En ce qui concerne les flags je demandais juste sil n'en manquais pas un pour utiliser getenv et setenv. Mais bon ...
Malheuresement je crois que personne n'a la solution lol.
C'est pas grave. Je vous ferai signe si je trouve.
Merci de vos réponse en tout cas.
 
J'ai un xcode installe et a jour. Je préfère juste coder sur le terminal.
Ok! pas de soucis là dessus! je voulais m'en assurer!

En ce qui concerne les flags je demandais juste sil n'en manquais pas un pour utiliser getenv et setenv.
Et qu'est ce qui te fais croire qu'il en MANQUE!
Tu as besoin de ces flags ?

Si tu comprends ce qu'ils font, voici ce qu'on trouve dans le man des fonctions getenv et setenv et qui devrait résoudre ton "problème" :
"
The getenv() function conforms to ISO/IEC 9899:1990 (``ISO C90'')."
 
Bonsoir,

J'en appelle a votre aide car j'ai codé une fonction en C utilisant getenv et setenv et ca compile et fonctionne parfaitement sur fedora mais par contre une fois que j'essaie de compiler la meme chose sur mon mac, il me dit :
warning: implicit declaration of function ‘setenv’
warning: implicit declaration of function ‘getenv’

Quelqu'un saurait pourquoi ?
Merci d'avance.

Cordialement,

#include <stdlib.h>


"implicit declaration of function" c'est marqué dessus comme le port-salut ton compiler ne trouve pas de prototype

man setenv