我有一个cpp文件,我试图使用sourcecpp()从RStudio进行编译。它包含Rcpp.h,所有必需的STL内容和“使用名称空间Rcpp;”。编译错误:'__result'未在此范围内声明
然后它有几个函数声明(不输出到R),应该输出到R的函数,最后是声明函数的定义。
这是我所得到的,当我尝试编译:
g++ -m32 -I"C:/PROGRA~1/R/R-30~1.2/include" -DNDEBUG -I"C:/Users/Michelle/Documents/R/win-library/3.0/Rcpp/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c RW_FastSwap.cpp -o RW_FastSwap.o
RW_FastSwap.cpp: In function 'SEXPREC* sourceCpp_27691_fastswap(SEXP, SEXP, SEXP, SEXP, SEXP)':
RW_FastSwap.cpp:459:9: error: '__result' was not declared in this scope
make: *** [RW_FastSwap.o] Error 1
Error in Rcpp::sourceCpp("C:/Users/Michelle/Desktop/Google Drive/FastSwap/RW_FastSwap.cpp") :
Error 1 occurred building shared library.
该行数比cpp文件的最后一行15行以上,即cpp文件的最后一行是444我已确保从导出函数返回的结果类型与函数的返回类型相匹配。
任何有关解决此问题的指导将不胜感激。
该文件是否保存?如果删除'.o'文件并再试一次,会发生什么? – doctorlove
如何删除.o文件? –
什么版本的Rcpp?什么是生成的实际源文件 - 你可以发布'sourceCpp(...,verbose = TRUE)'的输出吗? –