[Rcpp-devel] Rcpp upgrading legacy code linking error

Dahir Alihassan da288 at cantab.net
Wed Mar 9 16:14:08 CET 2011


Hi,

I am posting here upon Dirk's suggestion, as I understand this is well
attended to and I'd be grateful for any help. I am taking over a project
which involves upgrading to the latest version of Rcpp and thus I have to
upgrade all the old style API calls (which is compatible with the Classic
version I believe). The compile works fine but the errors arise on linking
against the resulting \inst\libs\RLinkage.dll.

I have manged to convert a lot of the code (mainly using Rcpp::List to
extract and pack incoming and outgoing function parameters but also a bit
of exception handling) but I simply keep getting "undefined reference"
errors on linking. The build log after compiling says "Linking console
executable" and this is where it list undefined references in the
*.o:*.cpp files to:

1.Rprintf or Rf_error and forward_exception_to_r.
2.R_NilValue
3.Rf_install

I do have #include <Rcpp.h> (there was a series of errors that were
occuring because I had included iostream before Rcpp, which was
strange). I've tried looking at the RCPP PDF but can't seem to figure it
out. I also tried to ensure that R.dll is on my PATH (C:\Program
Files\R\R-2.12.1\bin\x64). I am using Code::Blocks 10.05 IDE with RTools
installed and Mingw64 referenced explicitly in the toolchain (and
correctly Autodetected as the compiler). I'd be extremelt grateful for any
heads up.
Thanks!





More information about the Rcpp-devel mailing list