acids-ircam / rave_vst

Other
184 stars 28 forks source link

Standalone Windows build fatal error LNK1181: cannot open input file `mkl_intel_ilp64.lib` #30

Open aking7 opened 1 year ago

aking7 commented 1 year ago

Hi,

I'm building the MSVC project using CMake. The build succeeds for rave-vst-Images.lib and RAVE_SharedCode.lib but the linker cannot find mkl_intel_ilp64.lib to finish the Standalone build.

[main] Building folder: rave_vst 
[build] Starting build
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/Users/alex/git/rave_vst/build --config Debug --target rave-vst_Standalone -j 18 --
[build] MSBuild version 17.4.0+18d5aef85 for .NET Framework
[build]   Checking File Globs
[build]   Generating juce_binarydata_rave-vst-Images/JuceLibraryCode/BinaryData1.cpp, juce_binarydata_rave-vst-Images/JuceLibraryCode/BinaryData2.cpp, juce_binarydata_rave-vst-Images/JuceLibraryCode/BinaryData3.cpp, juce_binarydata_rave-vst-Images/JuceLibraryCode/BinaryData.h
[build]   rave-vst-Images.vcxproj -> C:\Users\alex\git\rave_vst\build\Debug\rave-vst-Images.lib
[build]   rave-vst.vcxproj -> C:\Users\alex\git\rave_vst\build\rave-vst_artefacts\Debug\RAVE_SharedCode.lib
[build] LINK : fatal error LNK1104: cannot open file 'mkl_intel_ilp64.lib' [C:\Users\alex\git\rave_vst\build\rave-vst_Standalone.vcxproj]
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/Users/alex/git/rave_vst/build --config Debug --target rave-vst_Standalone -j 18 -- exited with code: 1 and signal: null
[build] Build finished with exit code 1

I was able to resolve this by manually adding C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64 to the MSVC project build/rave-vst_Standalone.vcxproj:

...
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    ...
    <Link>
      <AdditionalDependencies>rave-vst_artefacts\Debug\RAVE_SharedCode.lib;Debug\rave-vst-Images.lib;torch\libtorch\lib\torch.lib;torch\libtorch\lib\torch_cpu.lib;torch\libtorch\lib\c10.lib;mkl_intel_ilp64.lib;mkl_core.lib;mkl_intel_thread.lib;mkl_intel_ilp64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib</AdditionalDependencies>
      <AdditionalLibraryDirectories>"C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib\intel64";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      ...
    </Link>
    ...
  </ItemDefinitionGroup>
...

How can I add it to CMakeLists.txt? I've tried a few different ways but it's not working yet.

Thanks, Alex