I created RcppArmadillo package on windows (Win 7, 64 bit) using R 3.1.2 and the latest versions of Rcpp 0.11.3 and RcppArmadillo 0.4.600.0. Package compiles, installs, and runs fine. Afterwards i wrote some code to use BigMatrix from bigmemory package with my RcppArmadillo package. As it turns out bigmemory is not available for R 3.1.2 on windows. To use bigmemory i downgraded R to R 2.15.3 and got Rcpp 0.10.4 and RcppArmadillo 0.4.000.2 for it from CRAN. Now i can use bigmemory but i cannot get my RcppArmadillo package to compile. Basically, it barfs a long list of error messages starting with
C:/Program Files/R/R-2.15.3/library/RcppArmadillo/include/RcppArmadilloForward.h:99:33: error: 'ConstReferenceInputParameter' is not a template
The errors look like a version incompatibility issue RcppArmadillo "ReferenceInputParameter is not a template" for which Dirk recommended installing Rcpp 0.10.5 from source. So i found tarball of Rcpp 0.10.5 and installed it manually. Problem is that i still get a ton of different error messages
g++ -m32 -I"C:/PROGRA~1/R/R-215~1.3/include" -DNDEBUG -I"C:/Program Files/R/R-2.15.3/library/Rcpp/include" -I"C:/Program Files/R/R-2.15.3/library/RcppArmadillo/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c RcppExports.cpp -o RcppExports.o
g++ -m32 -I"C:/PROGRA~1/R/R-215~1.3/include" -DNDEBUG -I"C:/Program Files/R/R-2.15.3/library/Rcpp/include" -I"C:/Program Files/R/R-2.15.3/library/RcppArmadillo/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c rcpparma_hello_world.cpp -o rcpparma_hello_world.o
g++ -m32 -shared -s -static-libgcc -o rcppArma.dll tmp.def RcppExports.o rcpparma_hello_world.o -LC:/PROGRA~1/R/R-215~1.3/bin/i386 -lRlapack -LC:/PROGRA~1/R/R-215~1.3/bin/i386 -lRblas -lgfortran -Ld:/RCompile/CRANpkg/extralibs64/local/lib/i386 -Ld:/RCompile/CRANpkg/extralibs64/local/lib -LC:/PROGRA~1/R/R-215~1.3/bin/i386 -lR
RcppExports.o:RcppExports.cpp:(.text+0x82): undefined reference to `Rcpp::internal::enterRNGScope()'
RcppExports.o:RcppExports.cpp:(.text+0xa7): undefined reference to `SEXPREC* Rcpp::internal::r_true_cast<14>(SEXPREC*)'
RcppExports.o:RcppExports.cpp:(.text+0xc9): undefined reference to `Rcpp::RObject::RObject(SEXPREC*)'
RcppExports.o:RcppExports.cpp:(.text+0xf5): undefined reference to `Rcpp::traits::storage_type<14>::type* Rcpp::internal::r_vector_start<14>(SEXPREC*)'
RcppExports.o:RcppExports.cpp:(.text+0x199): undefined reference to `Rcpp::traits::storage_type<14>::type* Rcpp::internal::r_vector_start<14>(SEXPREC*)'
I suspect it is still version incompatibility issue, but i have no idea how to match Rcpp version and RcppArmadillo version. Is there a compatibility table, could someone give a suggestion?