Problem GNU libmatheval in c++
Verfasst: 23. März 2011 14:23
Hallo!
für ein Funktionsparser habe ich im Internet nach einer Bibliothek gesucht, die der eingegebenen mathematischen Funktionen für spezifizierte variable Werte auswerten kann und ich bin auf GNU Libmatheval gestoßen. ihre Funktionen könnte ich für mein Programm in C ohne Probleme verwenden ; und jetzt versuche ich seit 3 tage das Programm in C++ umzuschreiben damit ich die Funktionswerte mit Qt plotten kann hier ist das code :
der Compiler meldet mir díe folgenden Fehler:
hat jemand da eine Idee oder kennt Ihr einer andere Library die so ähnliches unter C++ kann .
Danke Schonmal im Voraus
Gruß
sewa
// edit franzf: code-tags eingefügt. Bitte in Zukunft selber machen, Danke
für ein Funktionsparser habe ich im Internet nach einer Bibliothek gesucht, die der eingegebenen mathematischen Funktionen für spezifizierte variable Werte auswerten kann und ich bin auf GNU Libmatheval gestoßen. ihre Funktionen könnte ich für mein Programm in C ohne Probleme verwenden ; und jetzt versuche ich seit 3 tage das Programm in C++ umzuschreiben damit ich die Funktionswerte mit Qt plotten kann hier ist das code :
Code: Alles auswählen
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <matheval.h>
#define BUFFER_SIZE 256
#define MAX 20
#define pi 3.1415
using namespace std;
int main( int argc, char *argv[])
{
char buffer[BUFFER_SIZE];
int length;
void *f;
char **names;
int count;
double x[MAX];
int j;
cout <<"f(x_f) = ";
cin.getline(buffer, BUFFER_SIZE);
length = strlen (buffer);
if (length > 0 && buffer[length - 1] == '\n')
buffer[length - 1] = '\0';
f = evaluator_create (buffer);
assert (f);
evaluator_get_variables (f,&names, &count);
cout <<" " ;
for (j = 0; j < count; j++)
// printf ("%s ", names[j]);
cout <<'\n';
for(j=0;j<=MAX-1;j++){
x[j]=(pi/MAX)*j;
x[j]=evaluator_evaluate_x (f, x[j]);
cout << x[j];
}
evaluator_destroy (f);
exit (EXIT_SUCCESS);
}Code: Alles auswählen
evaluator.cpp:(.text+0xa9): undefined reference to `evaluator_create'
evaluator.cpp:(.text+0x103): undefined reference to `evaluator_get_variables'
evaluator.cpp:(.text+0x1a1): undefined reference to `evaluator_evaluate_x'
evaluator.cpp:(.text+0x1e6): undefined reference to `evaluator_destroy'
collect2: ld returned 1 exit statusDanke Schonmal im Voraus
Gruß
sewa
// edit franzf: code-tags eingefügt. Bitte in Zukunft selber machen, Danke