3

I am compiling OpenBLAS with Visual Studio 2017, using this tutorial: https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio#cmake-and-visual-studio. It works perfectly. However, when I try to link to a project that is using OpenBLAS, I have errors during the link.

error LNK2019: unresolved external symbol spotrf_ 
error LNK2019: unresolved external symbol dpotrf_ 
error LNK2019: unresolved external symbol spotri_ 
error LNK2019: unresolved external symbol dpotri_ 
error LNK2019: unresolved external symbol sgeqrf_ 
error LNK2019: unresolved external symbol dgeqrf_ 
error LNK2019: unresolved external symbol sorgqr_ 
error LNK2019: unresolved external symbol dorgqr_ 
error LNK2019: unresolved external symbol ssyevd_ 
error LNK2019: unresolved external symbol dsyevd_ 

This project was working perfectly with the downloaded binary version of OpenBLAS. The only notable difference is, I changed the include path to the one generated by CMake. And instead of linking to libopenblas.dll.a, I link to openblas.lib, which should be a more Visual-Studio-friendly way of linking...

I noticed that all these functions seems to come from Fortran files. Could that be the reason? And since OpenBLAS seems to be compilable with Visual Studio, how to fix the problem?

Emile D.
  • 602
  • 2
  • 11
  • 20

0 Answers0