You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10环境下如何正确构建使用hmatrix的Cabal项目?

问题根因
  • 你全局安装hmatrix时指定了openblas编译flag和对应的库路径,但是在构建自有项目时,Cabal默认没有给依赖的hmatrix传递这些编译参数,会尝试编译默认配置(依赖系统原生blas、lapack)的hmatrix,和你全局安装的版本配置不匹配,因此会触发重新编译,进而找不到依赖库报错。
  • 你提到的flag和路径参数是传递给Cabal的依赖构建流程,用来指定hmatrix包的编译选项。
解决步骤

步骤1:添加项目级Cabal配置

在你的测试项目根目录下新建名为cabal.project的文件,写入以下内容:

packages: .

package hmatrix
  flags: +openblas
  extra-include-dirs: C:\\ghcup\\msys64\\mingw64\\include\\OpenBLAS
  extra-lib-dirs: C:\\ghcup\\msys64\\mingw64\\bin, C:\\ghcup\\msys64\\mingw64\\lib

该配置会强制Cabal在构建本项目依赖的hmatrix时,使用你指定的编译flag和库路径,和你全局安装时的配置保持一致。

步骤2:添加动态库路径到系统环境变量

将libopenblas.dll所在的目录C:\ghcup\msys64\mingw64\bin添加到Windows系统的PATH环境变量中,避免程序运行时找不到动态链接库。

完成以上操作后重新执行cabal build cabalhmatrix即可正常构建项目。

可选:全局生效配置

如果你希望所有使用hmatrix的项目都默认使用该配置,不需要每个项目单独写cabal.project,可以编辑Cabal用户全局配置文件(路径一般为C:\cabal\config),在文件末尾添加上述package hmatrix的相关配置即可。

内容的提问来源于stack exchange,提问作者Palmik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:36:01