在windows上构建opencv 3.1-在哪里指定LAPACK库位置?

在windows上构建opencv 3.1-在哪里指定LAPACK库位置?,opencv,build,cmake,lapack,Opencv,Build,Cmake,Lapack,为了构建opencv 3.1,我将cmake与Visual Studio 2013结合使用。我下载了依赖项,如下所示: 在配置cmake时,它显示的第一件事是: FP16: Compiler support is available A library with BLAS API not found. Please specify library location. LAPACK requires BLAS A library with LAPACK API not found. Please

为了构建opencv 3.1,我将cmake与Visual Studio 2013结合使用。我下载了依赖项,如下所示:
在配置cmake时,它显示的第一件事是:

FP16: Compiler support is available
A library with BLAS API not found. Please specify library location.
LAPACK requires BLAS
A library with LAPACK API not found. Please specify library location.
问题是,我不知道如何指定位置。对于“Eigen”库,我自己设置库路径(Eigen_INCLUDE_path,这是预定义的),cmake说:

Other third-party libraries:
    Use IPP:                     NO
    Use IPP Async:               NO
    Use Lapack:                  NO
    Use Eigen:                   YES (ver 3.2.10)
    Use Cuda:                    NO
    Use OpenCL:                  YES
    Use OpenVX:                  NO
    Use custom HAL:              NO
但LAPACK没有预定义的变量。我还尝试将*.lib和头文件放在我下载的子目录中,希望cmake能够找到这个库

我必须自己构建opencv 3.1,因为在分布式版本中,额外的模块被禁用。它在没有LAPACK的情况下构建,但我的猜测是,我将失去很多性能

非常感谢你的帮助

对我来说,我使用了图书馆:

使用CMake Gui配置
opencv

  • 选择
    Advanced
  • OpenBLAS
    组中,为
    OpenBLAS
  • WITH
    组中,选择
    WITH\u LAPACK
  • 现在单击
    Configure
    按钮,CMake将自动配置Lapack信息
  • 一切正常后,您可以单击CMake Gui上的
    Generate
    按钮来生成visual studio项目文件并开始构建

    • 我想添加一条评论,但我没有足够的代表。 在我使用
      OpenBlas
      LAPACK
      在Visual Studio 2013中构建OpenCV 3.2的情况下,除了Viets的回答之外,我还必须更改
      lapacke.h
      中的两行以使用基于

      因此,对于
      lapacke.h
      I中的OpenBLAS版本0.2.19-Win64-int32,我进行了更改

      @第74行
      float\u Complex
      std::Complex

      @第90行
      double\u Complex
      std::Complex

      无需再次构建OpenBLAS库


      希望有帮助。

      使用CMAKE_PREFIX_PATH,如或中所述