构建 R 包:错误 "translate_lapack.hpp:1247: undefined reference to `ilaenv_'"

Building an R package: Error "translate_lapack.hpp:1247: undefined reference to `ilaenv_'"

当我 运行 devtools::document() 在我的 R 程序包(包括 C++ 代码)上时,我收到多个

类型的错误

C:/Users/Lennart/Documents/R/win-library/4.0/RcppArmadillo/include/armadillo_bits/translate_lapack.hpp:1247: undefined reference to `ilaenv_'

你知道如何解决这个问题吗?

确保安装了所有依赖项(LAPACK 是线性代数的外部库,也许您需要安装一些开发包集合)。这也可能意味着您对错误(过时?太新?)版本有一些依赖。

这具体是什么环境?相关软件包的具体版本是什么?

这是一个不完整的问题---我们没有代码可以参考,也不知道你是如何设置你的包的。

请注意,对于 RcppArmadillo,您 必须 使用 here 提供的片段(并由 RcppArmadillo.package.skeleton() 自动包含)以获得更正文件 src/Makevarssrc/Makevars.win 其中有

PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) 
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

这确保 OpenMP 工作(如果 R 在架构上有它)和工作 LAPACK / BLAS。