我想将 R 嵌入到 C++ 程序中。所以我也安装了 R、Rcpp 和 RInside。但是在 UNIX 中使用 g++ 编译时出现很多“未定义的引用”错误。我给出的编译命令是
g++ -I/path/to/R/include -I/path/to/Rcpp/include -I/path/to/RInside/include -L/path/to/R/libs -L/path/to/Rcpp/ libs -L/path/to/RInside/libs test.cpp -lRlapack -lRcpp -lRblas -lRInside"
测试.cpp:
#include <RInside.h>
int main(int argc, char *argv[]) {
RInside R(argc, argv); // create an embedded R instance
R["txt"] = "Hello, world!\n"; // assign a char* (string) to 'txt'
R.parseEvalQ("cat(txt)"); // eval the init string, ignoring any returns
exit(0);
}
错误:
Undefined reference to R_ClassSymbol
Undefined reference to R_NilValue
我收到与 R 变量类似的 110 个未定义错误。我已将 R 和其他软件包安装到我自己的位置而不是默认位置。我现在被这个错误困住了 2 天。我似乎做的一切都是正确的,比如链接等。在此先感谢。