(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/>