Visual Studio mkl_link_tool.exe链接错误

Visual Studio mkl_link_tool.exe linking error

本文关键字:exe 链接 错误 tool link Studio mkl Visual      更新时间:2023-10-16

我正试图在新安装的Microsoft Visual Studio 2019和Intel Parallel Studio XE(MKL Library 2020附带(中编译一个非常简单的C++代码。基本上,代码以CSR格式创建了一个3x3稀疏识别矩阵句柄,然后销毁该句柄:

#include "mkl.h"
#include "mkl_spblas.h"
int main(void)
{
const MKL_INT n = 3;
MKL_INT ia[3] = {0, 1, 2},ja[3] = {0, 1, 2};
double a[3] = {1., 1., 1. };
sparse_matrix_t csrA; 
mkl_sparse_d_create_csr(&csrA, SPARSE_INDEX_BASE_ZERO, n, n, ia, ia + 1, ja, a);
mkl_sparse_destroy(csrA);
return;
}

我做了这个链接(以及这个链接(描述的配置项目(除了步骤6,因为我在Visual Studio中找不到"自定义生成设置",所以我在"自定义生成步骤"中配置了intel(。

我使用"英特尔数学内核库链接行顾问"来配置包含目录和库目录(我选择了MS C:\C++编译器、英特尔(R(64体系结构、动态链接、32位整数接口和顺序线程层(。

多亏了@john,我终于取得了一些小进步。但我仍然收到这个错误:

Error   MSB3073 The command "mkl_link_tool.exe -libs -c ms_c -a intel64 -i ilp64 -p no 2> NUL" exited with code 9009.   ConsoleApplication1 C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Platformsx64PlatformToolsetsv142ImportBeforeIntel.Libs.MKL.v142.targets    64      

我之前已经成功地在linux系统下运行了一些调用MKL库的代码,但我对MSVS(以及MKL(还是相当陌生,所以我真的很感激任何帮助。我在网上读过一些类似的话题(例如,这篇帖子(,但仍然无法完成工作。

mkl论坛上也讨论过同样的问题:https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-2020-1-VS2019-linking-bug/m-p/1153138