我是Eclipse的新手。在尝试以下代码时,我得到了链接的错误消息。 我的代码(rcpp.cpp):
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
Rcpp::StringVector basic_function(StringVector x, StringVector y, Function f) {
StringVector res = f(x, y);
return res;
}
在basic_function中:
错误:
全部制作 建立目标:rcppeg 调用:NVCC链接器 /usr/local/cuda-8.0/bin/nvcc --cudart静态--relocatable-device-code = false -gencode arch = compute_50,code = compute_50 -gencode arch = compute_50,code = sm_50 -link -o“ rcppeg” ./rcpp.o
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o:在 函数_start': (.text+0x20): undefined reference to
main' ./rcpp.o:在函数Rcpp::Rcpp_PreserveObject(SEXPREC*)': /usr/lib/R/site-library/Rcpp/include/RcppCommon.h:85: undefined reference to
R_NilValue'中 /usr/lib/R/site-library/Rcpp/include/RcppCommon.h:86:对`R_PreserveObject'的未定义引用对“ R_NilValue”的未定义引用 collect2:错误:ld返回1退出状态 make:*** [rcppeg]错误1
我已经包含了库和路径。(项目->属性->路径和符号)。可以在R studio中执行相同的代码,并获得SourceCpp文件。
Building by: ctrl+B.
然后显示这些错误消息。但是我正在获取rcpp.o文件和rcpp.d文件。但是仍然在makefile中显示错误符号。基于CUDA的c代码可以在nsight上运行。因此,我怀疑它是否可以在nsight中工作。预先感谢。