Cでウェーブレット処理をしていて、幸いにもGSL-2.1が見つかりました。私は、のCode Composer StudioでARMのCortex-Mプロセッサ用GSL-2.1のインタフェースにしようとしていますだけでなく、エネルギア15.コードであっても、このコードをARM Cortex M Procssor GNUサイエンティフィックライブラリコンパイルエラー
#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);
}
非常に簡単です、コンパイラは
エネルギア15に次のエラーを与えていますerror: 'w' does not name a type
error: 'work' does not name a type
とのCode Composer Studioは、私はすでにそれhereを求め、コードにいくつかの変更を実行しようとしました
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
次のエラーを示しています。 #errorsを減らすために、ほぼ5つのcファイルを追加しなければならなかった。今私は1つだけのエラーを取得しています
" RETURN_IF_NULL undef symbol first referenced in ./main.obj "
ここで1つ以上の.cファイルを追加する必要がありますが、私は失われています。ここに追加する必要があるファイルを教えてください。 ヘルプが表示されます。
'RETURN_IF_NULL'はマクロのように聞こえる、つまりヘッダーに問題があります。 – unwind
ご返信ありがとうございます。これは、メモリを解放したり、ポインタがNULLポインタでないかどうかをチェックするために、ほぼ100ファイルのGSL-2.1で呼び出される関数です。サンプルコードは以下の通りです RETURN_IF_NULL(p); 空き(p->範囲); 空き(p->合計); 無料(p); ソースファイルが見つかりませんでした。 – Stark
gsl 'config.h'に' return_if_null'がありますが、次のように定義されています: '#define RETURN_IF_NULL(x)if(!x){return; } ' –