最近、単純な CLAPACK Microsoft Visual Studio 2008 プロジェクト ( http://icl.cs.utk.edu/lapack-for-windows/lapack/index.htmlからダウンロード) をビルドして実行することができました。その後、LAPACK dgesv_ 呼び出しの後に 1 行挿入して別の整数 tempInteger を初期化すると、ビルドが失敗します。エラーは次のとおりです: CLAPACK-EXAMPLE.c(30): エラー C2143: 構文エラー: ';' がありません 「タイプ」の前。LAPACK 関数を実行すると、その後の変数の初期化などの特定のアクションが妨げられるようです。何が起こっているのかを理解し、修正するのを手伝ってくれる人はいますか? 前もって感謝します。コード リストは以下のとおりです。
#include < stdio.h>
#include "f2c.h"
#include "clapack.h"
int main(void)
{
/* 3x3 matrix A
* 76 25 11
* 27 89 51
* 18 60 32
*/
double A[9] = {76, 27, 18, 25, 89, 60, 11, 51, 32};
double b[3] = {10, 7, 43};
int N = 3;
int nrhs = 1;
int lda = 3;
int ipiv[3];
int ldb = 3;
int info;
int qqq = 1;
dgesv_(&N, &nrhs, A, &lda, ipiv, b, &ldb, &info);
if(info == 0) /* succeed */
printf("The solution is %lf %lf %lf\n", b[0], b[1], b[2]);
else
fprintf(stderr, "dgesv_ fails %d\n", info);
int tempInteger = 1;
return info;
}