c++ - Visual Studio mkl_link_tool.exe 链接错误

标签 c++ visual-studio visual-studio-2010

我正在尝试在我新安装的 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;
}
我做了什么this link (以及 this link )描述了配置项目(步骤 6 除外,因为我在 Visual Studio 中找不到“自定义build设置”,所以我在“自定义构建步骤”中配置 intead)。
我用了Intel Math Kernel Library Link Line Advisor配置包含目录和库目录(我选择了 MS C\C++ 编译器、Intel(R)64 架构、动态链接、32 位整数接口(interface)和顺序线程层)。
感谢@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 Studio\2019\Community\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\v142\ImportBefore\Intel.Libs.MKL.v142.targets    64      
我之前在 linux 系统下成功地运行了一些调用 MKL 库的代码,但我对 MSVS(以及 MKL)还是很陌生,所以我真的很感激任何帮助。我在互联网上阅读了一些类似的主题(例如,this post),但仍然无法完成工作。

最佳答案

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

关于c++ - Visual Studio mkl_link_tool.exe 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62833957/

相关文章:

c++ - 在 C++ 中生成排列的递归问题

java - 使用JNI调用给定DLL文件中定义的函数

windows - Visual Studio 2008 中的 "Symbol Browser"是什么/在哪里?

c# - Visual Studio 2010 项目到 Visual Studio 2012

asp.net - 如何获取 Visual Studio 'Publish' 功能以包含生成后事件中的文件?

c++ - 从类方法返回结构

C++ vector 值不断变化?

c++ - 通过 HTTP 代理使用 boost::asio(同步调用)在 HTTPS TLS 握手上出现流截断错误

.net - Visual Studio 引用管理器 - 程序集框架与 COM 类型库

asp.net - "correct"多语言支持的使用方式