如何删除警告:Rcpp/DataFrame.h:136:18: 警告未使用的变量“数据”?
Posted
技术标签:
【中文标题】如何删除警告:Rcpp/DataFrame.h:136:18: 警告未使用的变量“数据”?【英文标题】:How to remove the warning: Rcpp/DataFrame.h:136:18: warning unused variable 'data'? 【发布时间】:2021-02-01 05:18:40 【问题描述】:我使用 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,但我仍然收到警告。)
【问题讨论】:
【参考方案1】:我以前的(通用)*** answer(您已经在问题中引用)仍然有效:将标志添加到 CXXFLAGS
(也可能还有 CXX11FLAGS
)。
或者,您可以通过Rcpp Drat repo 安装更新的 Rcpp 版本
install.packages("Rcpp", repos="https://rcppcore.github.io/drat")
获取具有此修复程序的 Rcpp 版本以及其他一些新版本。这些修复最终将使其成为 CRAN 版本。
编辑:这是Rcpp mailing list相关公告的链接。
【讨论】:
非常感谢!CXX11FLAGS
解决了这个问题。
不客气! R 本身控制这些,并且为 CXXFLAGS
设置的值不会自动提升为 CXX11FLAGS
有点棘手(对于 C++14、C++17、...)但至少现在你知道了: )当然:“警告”只是“警告”,尽管它们很烦人。如果你非常对你正在做的事情有信心,你也可以....编辑头文件:)以上是关于如何删除警告:Rcpp/DataFrame.h:136:18: 警告未使用的变量“数据”?的主要内容,如果未能解决你的问题,请参考以下文章