【问题标题】:How to install LAPACK for MSVS 2010 on windows?如何在 Windows 上为 MSVS 2010 安装 LAPACK?
【发布时间】:2014-01-22 12:59:22
【问题描述】:

我正在将 ITPP 库 (IT++ library) 用于我的一个项目。为了使用这个库的 eigen_sym() 函数,它要求安装 L​​APACK。我尝试了适用于 Windows 的直接预构建库,但仍然出现错误。最后在以下网站上:

http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries

我在“使用 MinGW 为 Windows 创建 LAPACK 和 LAPACKE 3.5.0 dll 的构建说明”下找到了一个可能有效的解决方案。我做了第 1 到第 5 步,但从第 6 步开始就卡住了。

我的 cmake 构建目标是 E:/LAPACK

在cmd提示符下输入时出现错误:

cd E:/LAPACK 3.5.0 >Enter
C:/MinGW/bin/mingw32-make.exe >Enter

我来了

mingw32-make.exe> No targets specified and no make file found. Stop.

有人可以详细解释第 6 步并告诉我哪里出错了吗? 我终于想得到.dll.lib 文件了。

【问题讨论】:

  • 如果您想要 Visual Studio 2010 支持,为什么要使用 gcc/mingw 构建?我用 Visual Studio 构建 lapack。
  • 因为页面上说如果在系统路径中添加了MinGW/bin,.dlls和.libs将起作用
  • 我猜问题是你没有fortran编译器。我犯了一个错误,我构建了不需要的 clapack。
  • 其他 .libs 和 .dlls 不起作用
  • 无论如何,我假设您正在输入 make 并得到“没有指定目标,也没有找到 make 文件。停止。”因为在命令窗口中按回车不会产生这个错误。

标签: c++ windows visual-studio-2010 cmake lapack


【解决方案1】:

我能够使用 mingw 和几乎来自 LAPACK 页面的构建指南为 Windows 构建 LAPACK 3.5。使用以下步骤

  1. 从这里下载 lapack.tgz http://netlib.org/lapack/lapack.tgz
  2. 解压到一个文件夹。我使用 7zip 文件管理器将 tarball 解压缩到 x:/Other/test
  3. 安装 mingw32。我用这个:http://www.mingw.org/download/installer 我选择并安装了 mingw32-developer-toolkit + mingw32-base + mingw32-gfortran + mingw32-gcc-g++ + msys-base
  4. 打开命令提示符
  5. 将 mingw 附加到您的路径

    path=C:/Mingw/bin;%PATH%

  6. 将目录更改为您提取 lapack 的位置:对我来说这是 X:\Other\Test\lapack-3.5.0 所以我输入的命令如下(您的路径将不同):

    C:\Users\jdrescher>x:
    X:>cd 其他\Test\lapack-3.5.0
    X:\其他\测试\lapack-3.5.0>

  7. 为您的构建创建一个文件夹。我用构建

    X:\Other\Test\lapack-3.5.0>mkdir 构建

  8. 然后将目录更改为构建文件夹

    X:\Other\Test\lapack-3.5.0>cd 构建
    X:\其他\测试\lapack-3.5.0\build>

  9. 现在使用 CMake 进行配置

    X:\Other\Test\lapack-3.5.0\build>cmake -G "MinGW Makefiles" -D BUILD_SHARED_LIBS=ON -D CMAKE_GNUtoMS=ON ..

  10. 现在使用 gnu make 构建 LAPACK

    X:\Other\Test\lapack-3.5.0\build>c:\MinGW\bin\mingw32-make.exe

    注意:此步骤需要几分钟时间。

在上述步骤 100% 无错误完成后,我在 build\bin 文件夹中有以下 dll:libblas.dllliblapack.dlllibtmglib.dll

还有以下库,以及 build\lib 文件夹中的 exp 文件:libblas.explibblas.libliblapack.expliblapack.liblibtmglib.explibtmglib.lib

【讨论】:

  • 我会推荐使用 minGW64 代替,mingGW 的维护不如 mingw64 好,尽管它的名字是 32 位编译器。
  • 我稍后会测试。可能会调整我的指示。
猜你喜欢
  • 2022-06-28
  • 1970-01-01
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2015-03-27
  • 1970-01-01
相关资源
最近更新 更多