如何删除警告: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: 警告未使用的变量“数据”?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除环境变量的“SC2154”警告[关闭]

如何在 python 3 中删除此警告

如何删除警告:Rcpp/DataFrame.h:136:18: 警告未使用的变量“数据”?

如何在 React Native 中删除警告

如何删除 CORB 警告?

如何安装 npm peerDependencies 以删除警告