我用 C 写了一段代码。
您可以在此处找到源代码。
它利用了库 blas、lapack 和 openmp。
我按照这些说明编译了 blas 和 lapack 库。
我使用这些标志来告诉编译器它应该链接的库:-lblas -llapack -fopenmp
.
我正在使用gcc 4.9
,程序可以正常运行。
最近我将 gcc 更新到 gcc 6,它显示了许多关于 blas 和 lapack 函数的隐式声明的警告消息:
src/PSIRWLS-train.c:152:17: warning: implicit declaration of function 'dgemm_' [-Wimplicit-function-declaration]
dgemm_(&trans, &trans, &(dataset.l), &ncols, &size,&factorA, KSC, &(dataset.l), miZ, &size, &factor, miKSM, &(dataset.l));
当我运行应用程序时,会出现分段错误错误。
我完全迷失了 gcc 4.9 和 gcc 6 的区别,你知道对此有什么解释吗?