在 R 包中包含 hpp 文件
Including hpp files in an R package
我正在编写一个 R 包,它使用 Rcpp 将用 C++ 编写的函数调用到 R 代码中。其中一些函数和模板是按照 boost 使用的约定编写在扩展名为 .hpp 的文件中的(并且还讨论了 here)。
这不会在构建 (R CMD build .
) 和检查 (R CMD check --as-cran package.tar.gz
) 包时导致错误,但它 returns 下一个警告:
Subdirectory ‘src’ contains:
file.hpp example.hpp
These are unlikely file names for src files
好的,这不是什么大问题,但我担心的是,为什么 警告?在 R 社区中命名 *hpp 文件被认为是一种不好的做法吗?是否有 objective 或社区原因为什么我应该使用 *cpp/*h 文件而不是 *hpp 作为模板?
我最初将此信息作为评论留下,但我认为它实际上回答了你的问题,所以这里是:
正如 Dirk Eddelbuettel 在评论中指出的那样,当您对 R 扩展包的 R 核心团队政策有疑问时,最好的办法是阅读他们出色的 Writing R Extensions 手册。本手册告诉您几乎所有您可能需要了解的内容。
在您的具体情况下,您需要查看 Section 1.1.5,它解释了“[R Core Team] 建议[s] 使用 .h for headers”,因为(正如他们解释的那样在脚注 18 中)“不保证使用 .hpp 是可移植的。”
我正在编写一个 R 包,它使用 Rcpp 将用 C++ 编写的函数调用到 R 代码中。其中一些函数和模板是按照 boost 使用的约定编写在扩展名为 .hpp 的文件中的(并且还讨论了 here)。
这不会在构建 (R CMD build .
) 和检查 (R CMD check --as-cran package.tar.gz
) 包时导致错误,但它 returns 下一个警告:
Subdirectory ‘src’ contains:
file.hpp example.hpp
These are unlikely file names for src files
好的,这不是什么大问题,但我担心的是,为什么 警告?在 R 社区中命名 *hpp 文件被认为是一种不好的做法吗?是否有 objective 或社区原因为什么我应该使用 *cpp/*h 文件而不是 *hpp 作为模板?
我最初将此信息作为评论留下,但我认为它实际上回答了你的问题,所以这里是:
正如 Dirk Eddelbuettel 在评论中指出的那样,当您对 R 扩展包的 R 核心团队政策有疑问时,最好的办法是阅读他们出色的 Writing R Extensions 手册。本手册告诉您几乎所有您可能需要了解的内容。
在您的具体情况下,您需要查看 Section 1.1.5,它解释了“[R Core Team] 建议[s] 使用 .h for headers”,因为(正如他们解释的那样在脚注 18 中)“不保证使用 .hpp 是可移植的。”