首页 > 解决方案 > 如何删除警告:Rcpp/DataFrame.h:136:18: 警告未使用的变量“数据”?

问题描述

我使用 Mac 上的 RcppArmadillo 创建了一个 R 包,然后通过执行以下操作构建和安装它:

Rcpp::compileAttributes()
devtools::build()
devtools::install()

但是,我收到了几个相同的警告,如下所示:

clang++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/RcppArmadillo/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include  -fopenmp  -fPIC  -Wall -g -O2  -c RcppExports.cpp -o RcppExports.o
In file included from RcppExports.cpp:4:
In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/RcppArmadillo/include/RcppArmadillo.h:34:
In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp.h:57:
/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/DataFrame.h:136:18: warning: unused variable 'data' [-Wunused-variable]
            SEXP data = Parent::get__();
                 ^
1 warning generated.

尽管安装过程中出现警告,但该软件包工作正常。有谁知道我怎样才能摆脱这些警告?

(我在这里尝试了答案:Wunused-variable errors in Rcpp,但我仍然收到警告。)

标签: rrcpprcpparmadillo

解决方案


我之前的(通用)StackOverflow 答案(您已经在问题中引用过)仍然有效:将标志添加到CXXFLAGS(也许还有CXX11FLAGS)。

或者,您可以通过 Rcpp Drat 存储库安装更新Rcpp版本

install.packages("Rcpp", repos="https://rcppcore.github.io/drat")

获取带有此修复程序的 Rcpp 版本以及其他一些新版本。这些修复最终将使其成为 CRAN 版本。

编辑:这里是Rcpp 邮件列表相关公告的链接。


推荐阅读