Windows下ndarray-linalg(MKL)与ndarray-stats链接错误求助
解决Windows下ndarray-linalg链接CBLAS符号失败的问题
问题根源
链接报错中的cblas_sgemm、cblas_dgemm等符号属于Intel MKL库。当前配置仅启用intel-mkl特性,该特性默认采用动态链接MKL,但Windows环境下常出现动态库路径未配置或编译时无法自动定位库文件的情况。而你测试ndarray-linalg示例时使用的intel-mkl-static特性采用静态链接,会将MKL库打包进可执行文件,彻底规避动态链接的路径问题。
修复步骤
修改项目的Cargo.toml,将ndarray-linalg的特性替换为intel-mkl-static:
[package] name = "adabelief" version = "0.1.0" edition = "2021" [dependencies] ndarray = { version = "0.15.6", features = ["rayon", "approx"] } ndarray-linalg = { version = "0.16.0", features = ["intel-mkl-static"] } ndarray-stats = "0.5.1"
修改后重新执行cargo build或cargo run即可完成编译链接。
补充说明
若需使用动态链接的intel-mkl特性,需确保Intel MKL动态库所在路径已添加至系统PATH环境变量,或编译时通过RUSTFLAGS手动指定库路径。但静态链接方式无需额外环境配置,更适合测试项目快速解决问题。
内容的提问来源于stack exchange,提问作者Delta_Fore
相关产品推荐
相关产品推荐

