Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/10/2020, à 16:35

zephyre123

Impossible de compiler avec la bibliothéque <math.h> [RESOLU]

Bonjour,

Voici mon code, il recopie un vecteur encapsulé dans une structure, ci dessous :

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

/* un vecteur n'ai pas une l-value => vecteur_1 = vecteur_2 impossible pour recopier les elements d'un vecteur
 * Cependant une structure est une l-value => structure_1 = structure_2 est possible
 * Ansi dans ce programme nous allons encapsuler un vecteur dans une structure afin de recopier ses éléments */

#define ELEMENT(x,i) ((x).VECTEUR[i])
#define NOMBRE_DE_JOUR 7

struct semaine
{
	float VECTEUR[NOMBRE_DE_JOUR];
};

int main(void)
{
	// Declaration d'une structure semaine nommée tmp
	struct semaine tmp;

	// On affecte les valeurs à tmp
	for(int i = 0; i < NOMBRE_DE_JOUR; i++)
		ELEMENT(tmp,i) = 1.0 / pow(2,i);


	struct semaine resultat = tmp;

	for(int i = 0; i < NOMBRE_DE_JOUR; i++)
		printf("%f ", ELEMENT(resultat, i));

	printf("\n");

	return EXIT_SUCCESS;
}

J'ai bien inclus la bibliothèque <math.h> et je compile avec cette ligne de commande : gcc -lm fichier.c -o fichier.exe donc je link bien <math.h>
Cependant j'ai toujours cette erreur :
/tmp/ccujjboD.o : Dans la fonction « main » :
structure.c:(.text+0x3a) : référence indéfinie vers « pow »
collect2: error: ld returned 1 exit status

Je ne comprends pas pourquoi es ce que quelqu'un pourrai m'aider ?

Dernière modification par zephyre123 (Le 04/10/2020, à 16:46)

Hors ligne

#2 Le 04/10/2020, à 16:43

pingouinux

Re : Impossible de compiler avec la bibliothéque <math.h> [RESOLU]

Bonjour,
Il suffit de mettre la librairie après le fichier.

gcc  fichier.c -lm -o fichier.exe

Hors ligne

#3 Le 04/10/2020, à 16:45

zephyre123

Re : Impossible de compiler avec la bibliothéque <math.h> [RESOLU]

Merci pingouinux ça marche nickel maintenant !

Hors ligne