我在构建基本示例rcpp_hello_world时遇到了问题。 我按照提到的例子进行了跟踪 http://blog.fellstat.com/?p=170
当我发现以下错误
时,链接就可以了Building target: MyCppPackage_4
Invoking: Cross G++ Linker
g++ -L/usr/local/R/lib64/R/lib -o "MyCppPackage_4" ./src/RcppExports.o ./src/main.o ./src/rcpp_hello_world.o /usr/local/R/lib64/R/library/Rcpp/libs/Rcpp.so /usr/local/R/lib64/R/library/RInside/lib/libRInside.so -lR -lRblas
./src/main.o: In function `main':
/home/luigi/workspace-mars/MyCppPackage_4/Debug/../src/main.cpp:22: undefined reference to `rcpp_hello_world'
collect2: error: ld returned 1 exit status
make: *** [MyCppPackage_4] Error 1
这里是main.cpp文件的代码
/*
* main.cpp
*
* Created on: Jun 13, 2016
* Author: luigi
*/
#ifdef INSIDE
#include <Rcpp.h>
#include <RInside.h> // for the embedded R via RInside
#include "rcpp_hello_world.h"
using namespace Rcpp;
using namespace std;
//RcppExport SEXP rcpp_hello_world();
#include <unistd.h>
int main(int argc, char *argv[]) {
RInside R(argc, argv); // create an embedded R instance
SEXP s = rcpp_hello_world();
Language call("print",s);
call.eval();
return 0;
}
#endif
我很抱歉紊乱的帖子 我很感谢任何提示
答案 0 :(得分:1)
首先,你的标签错了。这是一个rinside
问题,而不是rcpp
问题。
接下来,对于rinside
,我们有八个(是的,8个)目录和工作示例。将目录更改为examples/standard/
并说出make
。十几个例子就会建成。
这些用作参考和工作构建环境。如果您选择忽略这些作为帮助,您的构建可能会失败。这就是为什么我们给你一个(测试!!)环境,它将起作用。