我已经尝试过使用Rcpp标头使用此cpp代码。
#include <Rcpp.h>
using namespace Rcpp;
// This is a simple example of exporting a C++ function to R. You can
// source this function into an R session using the Rcpp::sourceCpp
// function (or via the Source button on the editor toolbar).
// [[Rcpp::export]]
NumericVector timesTwo(NumericVector x) {
return x * 2;
}
/*** R
timesTwo(42)
*/
首先,我已经像g++ -I/usr/share/R/include -I/usr/lib/R/site-library/Rcpp/include -c rcpp.cpp
一样进行了编译。后来我用g++ -I/usr/share/R/include -I/usr/lib/R/site-library/Rcpp/include -c rcpp.cpp -L/usr/share/R/include -L/usr/lib/R/site-library/Rcpp/include
进行链接。但是两者都会创建一个目标文件。但是我需要显示输出。
chmod u+x rcpp.o
命令。bash: ./reg: No such file or directory
但是我从同一目录本身编译代码。任何人都知道如何解决该问题。 答案 0 :(得分:4)
只需重新阅读您引用的段 。它包含以下三个非常重要的行:
// This is a simple example of exporting a C++ function to R. You can
// source this function into an R session using the Rcpp::sourceCpp
// function (or via the Source button on the editor toolbar).
这意味着您应该在 R 中做
Rcpp::sourceCpp("theFileYouSave.cpp")
或者如果您不喜欢::
,请先加载Rcpp软件包:
library(Rcpp)
sourceCpp("theFileYouSave.cpp")
或按照评论所述进行操作(如果使用RStudio),然后按“源”按钮。
没有建议直接打g++
的地方。