我有以下问题。需要安装mkl库(从这里开始,您主要需要使用矩阵和线性代数)。事实上,所有这些都在Visual中工作并不重要,如果您能告诉我在哪里和怎么做,我将非常感激。
实际上,我从这里下载了库:https://learn.microsoft.com/en-us/cognitive-toolkit/setup-mkl-on-windows,似乎我已经完成了安装它的所有必要步骤:我向项目文件夹中添加了dll文件;在项目属性"C/C++ -> general ->附加目录“中,从已安装的存档中添加了包含文件夹;在"Linker -> general ->附加库目录”中,添加了lib文件夹;在"Linker -> input ->附加依赖项“中,添加了安装存档中的2个.lib文件。
以下代码:
#include <iostream>
#include <mkl.h>
int main()
{
char transa = 'N';
char transb = 'N';
int n = 2;
double alpha = 1.0;
const double mat[4] = { 1, 2, 3, 2 };
const double mat2[4] = { 2, 2, 2, 2 };
double res[4] = {};
DGEMM(&transa, &transb, &n, &n, &n, &alpha, mat, &n, mat2, &n, &alpha, res, &n);
return 0;
}返回函数LNK2019中引用的LNK2019错误:未解析的外部符号_DGEMM。请告诉我我做错了什么。如果有一个选项可以在VS以外的地方进行,它也适合,因为库的功能在不久的将来是需要的。
发布于 2022-11-28 09:27:01
您可以从命令提示符和链接行顾问https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html?wapkw=link%20line%20advisor中进行尝试,建议您需要哪些选项才能编译和链接代码。
如果您想让它在Visual中工作,我建议您从那里下载oneAPI Base https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html,在那里可以获得最新的oneMKL。
在安装oneAPI基工具包期间,它将自动将oneMKL集成到VS 2019年,因此您只需要在configuration properties > Intel Libraries for oneAPI > use oneMKL (select the required option from the dropdown)中启用/Qmkl选项(与添加头文件和库文件的路径不同),然后构建代码。
下面是命令提示符和MSVC编译器的快速检查,下面是成功生成.exe文件而没有任何链接错误的命令( MKLROOT="C:\Program (X86)\Intel\oneAPI\mkl\2022.2.1\MKLROOT=“)
CL test.cpp -I"%MKLROOT%\include" /link /LIBPATH:"C:\Program Files (x86)\Intel\oneAPI\mkl\2022.2.1\lib\intel64" mkl_intel_lp64.lib mkl_sequential.lib mkl_core.libhttps://stackoverflow.com/questions/74596647
复制相似问题