首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"LNK2019错误:未解决的外部符号.“在Visual中安装intel-mkl库时

"LNK2019错误:未解决的外部符号.“在Visual中安装intel-mkl库时
EN

Stack Overflow用户
提问于 2022-11-28 06:14:38
回答 1查看 57关注 0票数 0

我有以下问题。需要安装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文件。

以下代码:

代码语言:javascript
复制
#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以外的地方进行,它也适合,因为库的功能在不久的将来是需要的。

EN

回答 1

Stack Overflow用户

发布于 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=“)

代码语言:javascript
复制
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.lib
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74596647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档