使用 Rcpp 的包编译失败
Compilation failed for package with Rcpp
我有一个.cpp
文件可以被sourceRcpp()
编译成功。现在我为它使用 Rcpp.package.skeleton()
,它会生成相关目录。然后我 运行 代码 R CMD Install 在命令行上,但它显示了一个错误的警告:
compilation failed for package...
我是 Windows 用户并使用 RStudio。我听从了一些建议,找到了文件 Makevars.win
,它只有一行
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
也许我需要添加 Rcpp:::LdFlags()
之类的东西。我之前已经安装了 Rtools,因为我可以在不使用 Rcpp
.
的情况下编译和安装我自己的包
你能给我一些如何处理的建议吗?
如果您已经在 RStudio 中,请执行此操作:
- 文件 -> 新建项目 -> 新建目录 -> R 包
- 重要:将 'Create Package' 中的开关从 'R Package' 切换到 'R Package w/Rcpp'。
- 构建包。它会起作用,就像
Rcpp.package.skeleton()
.
- 将您的源文件复制到
src/
。
- 再次构建包。这将 自动 运行
compileAttributes()
为您完成,这是您无法手动完成的。
所有这些都记录在案。
我有一个.cpp
文件可以被sourceRcpp()
编译成功。现在我为它使用 Rcpp.package.skeleton()
,它会生成相关目录。然后我 运行 代码 R CMD Install 在命令行上,但它显示了一个错误的警告:
compilation failed for package...
我是 Windows 用户并使用 RStudio。我听从了一些建议,找到了文件 Makevars.win
,它只有一行
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
也许我需要添加 Rcpp:::LdFlags()
之类的东西。我之前已经安装了 Rtools,因为我可以在不使用 Rcpp
.
你能给我一些如何处理的建议吗?
如果您已经在 RStudio 中,请执行此操作:
- 文件 -> 新建项目 -> 新建目录 -> R 包
- 重要:将 'Create Package' 中的开关从 'R Package' 切换到 'R Package w/Rcpp'。
- 构建包。它会起作用,就像
Rcpp.package.skeleton()
. - 将您的源文件复制到
src/
。 - 再次构建包。这将 自动 运行
compileAttributes()
为您完成,这是您无法手动完成的。
所有这些都记录在案。