我有一個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)'的輸出嗎? –