A * .lib в Windows может быть либо библиотекой импорта для DLL, либо статической библиотекой.
Библиотека в CMake создается с атрибутом STATIC
или SHARED
.Если по умолчанию на платформе Windows значение опущено , создается общая библиотека.Это можно изменить по определению -DBUILD_SHARED_LIBS=OFF
в командной строке CMake.
Когда вы разместили CMakeLists.txt из OpenBLAS, вы по умолчанию создаете DLL на платформе Windows.Таким образом, библиотека, на которую вы ссылаетесь, является библиотекой импорта.
TL; DR : Чтобы построить OpenBLAS как статическую библиотеку, вам нужно передать -DBUILD_SHARED_LIBS=OFF
в командной строке CMake при запуске configureшаг.