【问题标题】:Visual Studio mkl_link_tool.exe linking errorVisual Studio mkl_link_tool.exe 链接错误
【发布时间】:2020-10-31 04:13:09
【问题描述】:

我正在尝试在我新安装的 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中找不到“自定义构建设置”,所以我在“自定义构建步骤”)。

我使用Intel Math Kernel Library Link Line Advisor 配置包含目录和库目录(我选择了 MS C\C++ 编译器、Intel(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 Studio\2019\Community\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\v142\ImportBefore\Intel.Libs.MKL.v142.targets    64      

我之前在 linux 系统下成功地运行了一些调用 MKL 库的代码,但我对 MSVS(以及 MKL)还是很陌生,所以我真的很感激任何帮助。我在 Internet 上阅读了一些类似的主题(例如,this post),但仍然无法完成工作。

【问题讨论】:

  • 设备:戴尔 XPS 13-7390;操作系统:Windows 10 专业版,版本 1909; Intel Parallel Studio XE:集群版,2020更新1(不知道哪里可以下载学生许可下的免费作曲家版); Microsoft Visual Studio:社区 2019,版本 16.6.3
  • 这两个警告似乎都是相关的。我不能说第一个是什么意思,但第二个意味着 MKL 是一个 64 位库,但您正在尝试构建一个 32 位程序。这永远行不通。
  • @john 感谢您的回复。我注意到了,但即使我在 MKL Link Line Advisor 中选择了 64 位整数,我仍然会收到相同的警告。
  • 问题不是MKL,问题是Visual Studio。您需要确保为您的构建选择 x64 平台。
  • [compiler-construction] 是针对关于编写编译器的问题,而不是使用它们。 (另外,我不相信您使用的是 [gcc],如果这是真的,那么该标签也具有误导性。)

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


【解决方案1】:

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

【讨论】:

  • 谢谢!这解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-27
  • 2010-12-13
  • 2011-08-26
  • 2016-03-21
  • 1970-01-01
相关资源
最近更新 更多