gpt4 book ai didi

c++ - 将 OpenBLAS 与 Qt Creator 项目链接

转载 作者:行者123 更新时间:2023-11-28 05:05:17 27 4
gpt4 key购买 nike

我正在使用 Qt Creator 进行开发。我想使用 Armadillo 线性代数库。因此,我在 pro 文件中使用了以下代码:

INCLUDEPATH += C:\armadillo-7.950.1\include

LIBS += \
-LC:\armadillo-7.950.1\examples\lib_win64 \
-llapack_win64_MT \
-lblas_win64_MT

一切都很好,项目编译和链接正确。下一个任务是用 OpenBLAS 替换 LAPACK 和 BLAS。于是pro文件改成如下:

INCLUDEPATH += C:\armadillo-7.950.1\include \
C:\OpenBLAS-v0.2.19-Win64-int32\include

LIBS += \
-LC:\OpenBLAS-v0.2.19-Win64-int32\lib \
-llibopenblas

现在我收到错误:LNK1104:无法打开文件“libopenblas.lib”。我已经下载了 OpenBLAS 的 windows 二进制文件。安装的文件夹结构如图所示:installed OpenBLAS folder

请告诉我出了什么问题?

谢谢。

最佳答案

这个问题有两个原因:

  1. 将 .lib 文件奇怪地命名为 libopenblas.dll.a,即使程序包称为 windows 二进制文件。
  2. 不完整的二进制包----它不包含所有必需的dll

解决方法:

  1. 选择一个二进制文件——win 64 或 win32 并下载。

  2. 按照 Yuriy 的建议将 libopenblas.dll.a 重命名为 libopenblas.lib

  3. https://sourceforge.net/projects/openblas/files/v0.2.14/下载根据您在步骤 1 中下载的二进制类型,所需的缺失 DLL 再次捆绑在奇怪命名的 zip 文件“mingw64_dll”或“mingw32_dll”下。这些 zip 文件包含“libgcc_s_seh-1.dll”、“libgfortran-3.dll”和“libquadmath-0.dll”

  4. 像我对您的项目所做的那样添加 include 和 lib,并根据您下载的二进制文件(即 win64 或 X86)使用正确的目标构建

  5. 从 OpenBLAS 二进制文件的 bin 文件夹中复制 libopenblas.dll,从“mingw64_dll”或“mingw32_dll”中复制“libgcc_s_seh-1.dll”、“libgfortran-3.dll”、“libquadmath-0.dll”,具体取决于用于构建 exe 所在的调试或发布目录的二进制类型。

    1. 运行您的程序,一切顺利。

    2. 如果你想逃避一次又一次的复制,为包含这些 DLL 的路径设置一个必需的系统环境变量

关于c++ - 将 OpenBLAS 与 Qt Creator 项目链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44975198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com