我有一些 C++ 代码。我想用 Rcpp 把它变成一个 R 包。
这是我在做什么:
Rcpp.package.skeleton("myPackageName")devtools::load_all()后看看是否rcpp_hello_world()有效library(myPackageName)。确实如此!/src. 再次rcpp_hello_world()运行后我仍然可以使用devtools::load_all()。/src,只需执行以下操作:(A) 放在.cpp文件的顶部`
#include <Rcpp.h>
using namespace Rcpp;
Run Code Online (Sandbox Code Playgroud)
(B) 在每个函数前加上void这个注释
//[[Rcpp::export]]
Run Code Online (Sandbox Code Playgroud)
现在,我愚蠢地认为,如果我运行devtools::load_all(),带有 compile 的代码和那些 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’
Run Code Online (Sandbox Code Playgroud)
找不到头文件 Rcpp.h
(1) 在使用 Rcpp 直接从 C++ 代码创建 R 包时,我的上述过程是否不正确?这是我从书中收集到的
(2) 我该如何解决这个问题?
| 归档时间: |
|
| 查看次数: |
3280 次 |
| 最近记录: |