0

我想使用 GotoBLAS2 对两个向量求和(z = x+y,其中 x 和 y 是两个长度相同的向量)。我使用以下代码:

#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>中是 before #include <common.h>,gcc 找不到 blasint 的定义。

再次感谢

于 2013-01-25T17:46:24.607 回答