Ich mache Wavelet in C und fand glücklicherweise GSL-2.1. Ich versuche, GSL-2.1-Schnittstelle für ARM Cortex-M-Prozessoren in Code Composer Studio sowie Energia 15.-Code ist sehr einfachGNU Scientific Library Compilierungsfehler für ARM Cortex M Procssor
#include <stdio.h>
#include <math.h>
#include <gsl/gsl_errno.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_test.h>
#include <gsl/gsl_wavelet.h>
#include <gsl/gsl_wavelet2d.h>
int i, n=256, nc=20;
double data[256];
double abscoeff[256];
gsl_wavelet *w;
gsl_wavelet_workspace *work;
int main(){
w = gsl_wavelet_alloc (gsl_wavelet_daubechies, 4);
work = gsl_wavelet_workspace_alloc(256);
}
Auch für diesen Code, Compiler in Energia folgende Fehler geben 15
error: 'w' does not name a type
error: 'work' does not name a type
und Code Composer Studio zeigt folgende Fehler
undefined first referenced
symbol in file
--------- ----------------
gsl_wavelet_alloc ./main.obj
gsl_wavelet_daubechies ./main.obj
gsl_wavelet_workspace_alloc ./main.obj
error #10234-D: unresolved symbols remain
fragte ich es schon here und versuchte, einige Änderungen im Code zu tun. Ich musste fast 5 c-Dateien hinzufügen, um # Fehler zu reduzieren. Jetzt bekomme ich nur ein Fehler
" RETURN_IF_NULL undef symbol first referenced in ./main.obj "
Auf jeden Fall muß ich ein oder mehr C-Datei hier hinzufügen, aber ich bin verloren. kannst du mir helfen welche Datei muss ich hier hinzufügen? Jede Hilfe würde appiated sein.
'RETURN_IF_NULL' klingt wie ein Makro, d. H. Es gibt ein Header-Problem. – unwind
Danke für Ihre schnelle Antwort. Es ist eine Funktion, die in fast 100 Dateien von GSL-2.1 aufgerufen wird, um den Speicher freizugeben oder um zu überprüfen, ob der Zeiger kein NULL-Zeiger ist. Beispielcode ist unten angegeben RETURN_IF_NULL (p); frei (p-> Bereich); frei (p-> Summe); frei (p); Aber ich konnte die Quelldatei nicht finden. – Stark
Ich fand anderswo eine 'return_if_null' in gsl' config.h' aber ist definiert als: '#define RETURN_IF_NULL (x) if (! X) {return; } ' –