Rcpp:将C++函数移植到 R 中,'Rcpp.h'找不到文件
Rcpp: porting C++ function into R, 'Rcpp.h' file not found
我有一些C 代码。我想将其与RCPP一起做一个R包。
这是我在做的:
- 通过执行
Rcpp.package.skeleton("myPackageName")
创建一个软件包框架 - 运行
devtools::load_all()
以查看rcpp_hello_world()
是否在library(myPackageName)
之后工作。它做了! - 使用所有C 源代码,然后将其复制到
/src
中。再次运行devtools::load_all()
后,我仍然可以使用rcpp_hello_world()
。 - 对于现在位于
/src
中的C 源代码中的每个功能,只需执行此操作:
(a)放在.cpp
文件的顶部`
#include <Rcpp.h>
using namespace Rcpp;
(b)放在每个功能之前 void
此注释
//[[Rcpp::export]]
现在,我愚蠢地认为,如果我运行devtools::load_all()
,则可以访问带有编译的代码,并且可以访问这些C 功能。这是不正确的。
这是load_all()
之后的错误:
1 warning generated.
sourcecode1.cc:2:10: fatal error: 'Rcpp.h' file not found
#include <Rcpp.h>
^
1 error generated.
make: *** [myPackageName] Error 1
ERROR: compilation failed for package ‘myPackageName’
它找不到标题文件Rcpp.h
(1)我的过程在使用RCPP直接从C 代码创建R软件包时是不正确的吗?这就是我从书中收集的
(2)如何解决此问题?
您需要运行'compileattributes()',rstudio也会为您做。
简而言之,每次更改或添加接口时,都需要运行此功能。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- Rcpp ,在文件中搜索一个值
- R -RCPP:链接到Shogun C 文件的麻烦
- r包装中的对象文件太大(RCPP)
- Rcpp:将C++函数移植到 R 中,'Rcpp.h'找不到文件
- 将第三方头文件与 Rcpp 一起使用
- 在Mac上,Rcpp没有lib文件夹
- Rcpp 调试 - 致命错误:Datetime.h:没有这样的文件或目录;xtsAPI.h:没有这样的文件或目录
- r语言 - 在 Windows 上使用 Rcpp 创建.dll文件并编译C++代码
- 在使用Rcpp构建包时处理修饰的外部二进制文件
- 如果没有 libRcpp.so 文件,如何链接 Rcpp
- 在带有Rcpp的R包中,将头(.h)文件与cpp文件一起使用