0

GotoBLAS2 を使用して 2 つのベクトル (z = x+y、x と y は同じ長さの 2 つのベクトル) を合計したいと考えています。次のコードを使用します。

#include <stdio.h>
#include <cblas.h>
#include <common.h>

double x[] = {1,2,3};
double y[] = {4,5,6};

void main()
{
int n,i,x_int,y_int=5,a;
n=3;x_int=1;y_int=1;a=1;
cblas_dzxpy(n, a, &x[0], x_int, &y[0], y_int);
for(i=0;i<n;i++) printf("x[%d] = %g\n", i, x[i]);
}

このファイルは「Test」ディレクトリにあり、GotoBLAS2 は TEST のあるディレクトリにあります (ファイルではありません)。また、libgoto2.a を TEST フォルダーに入れます。次のコマンドを使用してコンパイルしたい場合:

gcc AddSubVectors.c -I../GotoBLAS2 -L../GotoBLAS2 libgoto2.a

次のエラーが数回発生します。

../GotoBLAS2/cblas.h:270:45: error: unknown type name 'blasint'

何かをgccにリンクする必要があるようですが、何をどのようにリンクするかわかりません。どんな助けでも本当に感謝しています。ありがとう

4

1 に答える 1

0

早速お返事をいただきありがとうございます。あなたのヒントを使って、私は問題を理解しました。実際、blasintはcommon.hで定義されていましたが、私のコード#include <cblas.h>では以前だった #include <common.h>ので、gccはblasintの定義を見つけることができませんでした。

もう一度ありがとう

于 2013-01-25T17:46:24.607 に答える