致命错误:stdio.matrixVector:找不到文件或目录

时间:2014-05-06 00:55:04

标签: c linux gcc

我正在尝试编译C方法

#include <stdio.matrixVector>
#include <gsl/gsl_matrix.matrixVector>
#include <gsl/gsl_math.matrixVector>
#include <gsl/gsl_multifit.matrixVector>

void  myMethod(double vector[], double matrixVector[])
{
    int n = sizeof(matrixVector)/sizeof(double);
    gsl_matrix *X = gsl_matrix_calloc(n, 3);
    gsl_vector *Y = gsl_vector_alloc(n);
    gsl_vector *beta = gsl_vector_alloc(3);

    for (int i = 0; i < n; i++) {
        ....
    }

....

}

但我收到此错误

fatal error: stdio.matrixVector: File or directory not found

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

1-所有包含都是错误的

#include <stdio.matrixVector>
#include <gsl/gsl_matrix.matrixVector>
#include <gsl/gsl_math.matrixVector>
#include <gsl/gsl_multifit.matrixVector>

应该是

#include <stdio.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_multifit.h>

请注意3 include需要GNU Scientific Library,请确保在编译代码之前安装它

循环中的

2-

for (int i = 0; i < n; i++) {

你必须在循环之外声明i(如果你不在C99模式下)。

答案 1 :(得分:0)

您需要更改#include行,您已将所有.h后缀替换为.matrixVector,我认为这是对文件其余部分的批量替换

变化:

#include <stdio.matrixVector>
#include <gsl/gsl_matrix.matrixVector>
#include <gsl/gsl_math.matrixVector>
#include <gsl/gsl_multifit.matrixVector>

要:

#include <stdio.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_multifit.h>