Bonjour,

Je suis (presque) compl�tement d�butante en programmation et j'ai un probl�me (logique !)
J'ai d�j� parcouru un peu le forum (fait des recherches) mais �a n'a pas r�solu mon probl�me....

Je m'explique :

J'ai �crit un "code" qui utilise la librairie math.h (et aussi iostream et fstream sachant que pour iostream, c'est temporaire... le temps de trouver comment faire autrement)

Le probl�me :

Lorsque je compile avec gcc, j'ai soit une s�rie interminable d'insultes, soit lorsque je retire le ".h" de math.h l'erreur suivante :
tmp/ccie1EHJ.o: dans la fonction � main �:
trucmuche.cpp: (.text+0x26): r�f�rence ind�finie vers � sin �
collect2: ld a retourn� 1 code d'�tat d'ex�cution
Remarque :
A l'�poque o� j'ai eu quelques cours de C++, on nous avait dit que lorsqu'on avait une s�rie d'insultes lors de la compilation, c'est qu'il fallait retirer le ".h" de certaines librairies. Et effectivement, � l'�poque, �a marchait (mais ce n'�tait pas math.h qui m'insultait dans ce cas). C'est pour �a que j'ai essay� de compiler sans le ".h" de math.h.

Une solution :

J'ai trouv� sur le forum je crois, une solution tr�s simple qui consiste � �crire la ligne de compilation suivante :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
gcc -lm -o truc 030507.cpp
En voyant �a, j'ai tout de suite essay�..... mais �a ne change pas grand chose...
Avec le ".h" ---> j'ai la s�rie d'insultes;
Sans le ".h" ---> j'ai la r�ponse suivante :
050307.cpp:1:16: erreur: math : Aucun fichier ou r�pertoire de ce type
050307.cpp: In function �int main()�:
050307.cpp:41: erreur: �atan� was not declared in this scope

Le truc :

J'ai essay� d'�crire un programme tr�s simple qui ne fait que calculer un sinus. Le seul include de ce programme, c'est le math.h

Lorsque je tape la ligne de compilation avec "-lm", �a marche. Aucune insulte, et il reconnait bien math.h.
De plus, pas plus tard que ce matin, j'ai recompil� un programme assez complexe (pas �crit par moi bien s�r...) � partir de son makefile et je n'ai pas eu de probl�me avec le math.h

Le programme qui me pose probl�me reprend certaines fonctions du programme complexe que j'ai compil� ce matin, pour le reste, ce sont essentiellement des gestions de flux.
Le includes pr�sents dans mon code :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
#include <math.h>
#include <iostream>
#include <fstream>
Bon, comme moi je suis plut�t d�butante... je ne sais pas quoi faire.

Est-ce que �a peut venir non pas de math.h mais des deux autres librairies (qui ne sont pr�sentes ni dans le code tout pourri qui m'a servi � tester la m�thode avec le -lm et ni dans le programme complexe qui n'est pas de moi ?

J'esp�re que vous saurez m'�clairer ... En attendant, j'esp�re avoir �t� assez claire dans ce que je raconte..

Hibiscuit