(Courriels de diversion: <contiens@fie-representeraient.com> <emmêles@enorgueillissez-intimant.com> <demilitarisant@revolvers-ethnies.com> <fiance@fripon-etudiez.com> <potence@plusieurs-pechez.com> <renfrogne@deferlons-vieillissiez.com> <haïront@ligotes-libertines.com> <emetteurs@batteurs-faufilerons.com> <theoriserais@arriere-grand-pere-foirer.com> <recrire@regonfla-abjurer.com> )
J'ai des erreurs de compilation avec gcc dans :
gcc -o cercles_ansi cercles_ansi.c
sorties à l'écran (canal d'erreur)
/tmp/cc4V8o2n.o: In function `main':
/tmp/cc4V8o2n.o(.text+0x9b): undefined reference to `sin'
/tmp/cc4V8o2n.o(.text+0xef): undefined reference to `cos'
collect2: ld returned 1 exit status
Les erreurs portent sur la non reconnaissance
des fontions mathématiques sin(double x) et cos(double x).
Ces fonctions dans la doc réclament <math.h>.
Dans SuSE 8.0 (et d'ailleurs dans SuSE 7.3 et Mandrake 8.1),
j'ai math.h dans deux répertoires :
1) /usr/lib/include/math.h (où math.h est vide : 0 octet !)
2) /usr/include/math.h (math.h a 13.535 caractères avec 414 lignes)
/usr/include comprend aussi le fichier tgmath.h (16.358 octets)
et le répertoire bin/ qui comporte plusieurs fichiers de type
*math.h ou math*.h
Il semble que gcc prend bien /usr/include comme répertoire d'include.
/* cercles_ansi.c : programme dans Planète Linux N°20 10/02 pg 35*/
#include <stdio.h>
#include <math.h>
#define Pi 3.14159265358
void gotoxy(int x , int y)
{
// place le curseur à la position (x,y) de l'écran
printf("\033[%d;%df",y,x) ;
}
// Corps du programme
int main(void)
{
int i,j ;
printf("\033[2J") ; // efface l'écran
for(i=0 ; i<=7 ; i++) // boucle sur les cercles
{
for(j=0 ; j<=360 ; j++) // boucle dans le cercle par degré
{
gotoxy(22+i*cos(j*Pi/180),12+i*sin(j*Pi/180)) ;
printf("\033[1;5;%dm \033[m",40+i) ;
}
}
gotoxy(1,21) ;
printf("\033)") ; // met en place la police G1 (alternative)
printf("Test avec codes d'échappement ANSI\n") ;
printf("\033(") ; // met en place la police G0 (par défaut)
return(0) ;
}
Georges Favre
---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>