Ошибка связывания Visual Studio mkl_link_tool.exe - PullRequest
2 голосов
/ 10 июля 2020

Я пытаюсь скомпилировать очень простой код C ++ в недавно установленных Microsoft Visual Studio 2019 и Intel Parallel Studio XE (поставляется с библиотекой MKL 2020). В основном код создает дескриптор разреженной матрицы идентичности 3x3 в формате CSR, а затем уничтожает дескриптор:

#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, так как я не могу найти «Custom Build Setup» в Visual Studio, поэтому я настраиваю intead в «Custom Build Step»).

Я использовал советник Intel Math Kernel Library Link Line Advisor для настройки каталогов включения и каталогов библиотек (я выбрал компилятор MS C \ C ++, архитектуру Intel (R) 64, динамическое связывание c, 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      

Раньше я успешно запускал некоторые коды, вызывающие библиотеки MKL в системе linux, но я все еще довольно новичок в MSVS (а также в MKL ) так что я действительно приветствую любую помощь. Я читал несколько похожих topi c на inte rnet (например, this post ), но все еще не могу выполнить работу.

1 Ответ

1 голос
/ 18 июля 2020

такая же проблема обсуждалась на форуме mkl: https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-2020-1-VS2019-linking-bug/m-p/1153138

...