rcpp_hello_world。未定义参考

时间:2016-06-14 13:12:14

标签: eclipse rinside

我在构建基本示例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

我很抱歉紊乱的帖子 我很感谢任何提示

1 个答案:

答案 0 :(得分:1)

首先,你的标签错了。这是一个rinside问题,而不是rcpp问题。

接下来,对于rinside,我们有八个(是的,8个)目录和工作示例。将目录更改为examples/standard/并说出make。十几个例子就会建成。

这些用作参考和工作构建环境。如果您选择忽略这些作为帮助,您的构建可能会失败。这就是为什么我们给你一个(测试!!)环境,它将起作用。