我想用 MKL 支持(我使用 Eigen)以及新的Pardiso solver来编译我的代码。问题是 MKL 附带了一个(旧)版本的 Pardiso,其接口功能与 Pardiso 5.0.0 不兼容。
更准确地说,我在编译时收到以下错误:
error: conflicting declaration of C function ‘void pardisoinit(void*, int*, int*, int*, double*, int*)’
...
error: conflicting declaration of C function ‘void pardiso(void*, int*, int*, int*, int*, int*, double*, int*, int*, int*, int*, int*, int*, double*, double*, int*, double*)’
...
是否可以在同一个应用程序中编译和链接两者?不幸的是不得不选择,因为我的代码使用 MKL 总体上更快,但 Pardiso 5.0.0 让我成为人群中更快的线性求解器。