Aide - Recherche - Membres - Calendrier
Version complète : Fonctions mathematiques avec palmphi 1.63
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
injection18
Bonjour, j'ai une question assez simple qui me turlupine. J'ai besoin d'utiliser les fonctions log(float) et sqrt (float) pour un calcul, mais je ne comprends pas comment inclure le fichier mathf.h, pouvez-vous m'aider svp ?

Fichier Form1.c

CODE
float var1;
float var2;
float var3;
float var4;

EVENT Button1_OnClick(EventPtr event)
{
// Return "false" to execute default message handling
var1 = Edit1.AsFloat();
var2 = Edit1.AsFloat();
var3 = Edit1.AsFloat();
var4 = Edit1.AsFloat();

Form2.PopUp();
}


Fichier Form2.c:

CODE
#include <mathf.h>

float tmp;


EVENT Form2_OnOpen(EventPtr event)
{
tmp = 0.56 * sqrt(var1) + 0.28 * sqrt(var2) + 0.7 * log(var3) + 0.014 * var4;
Edit5.AsFloat(1) = tmp;
}

EVENT Button2_OnClick(EventPtr event)
{
Form2.Back();
}


Le message d'erreur a la compilation:

CODE
DAS28.o(.text+0xcb4):DAS28.c: undefined reference to `sqrt'
DAS28.o(.text+0xcc4):DAS28.c: undefined reference to `sqrt'
DAS28.o(.text+0xcd4):DAS28.c: undefined reference to `log'
collect2: ld returned 1 exit status
make: *** [DAS28] Error 1
Patrice
Le Palm ne comprend pas de fonctions mathématiques en standard. Il faut impérativement une librairie dédiée, comme mathlib. Je ne connais pas PalmPhi, donc je ne sais pas si ça peut aider, mais ça peut toujours être un début...

Et bienvenue sur le forum cool.gif
injection18
merci pour ta reponse

en fait j'ai rajouté l'option -lmsf dans le makefile et ca fonctionne tres bien maintenant.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.