[Rcpp-devel] How to link a .lib file in a rcpp-package in a Windows environment?
Hi Dirk, Am 25.04.2011 um 04:54 schrieb Dirk Eddelbuettel:
You need to include headers for R too, e.g. #include <R.h> #include <Rdefines.h> and maybe #include <Rinternals.h>
That worked, everything runs smoothly then. :-)
| .... now what would be the line I would have to add to Makevars.win, or how do I have to modify the PKG_LIBS Line in order to incorporate "Plastic.lib"? You probably want to look at a few packages using external libraries; there are a few that use the GSL. One of them is mvabund which also uses Rcpp. It has ## This assumes that the LIB_GSL variable points to working GSL libraries ## It also assume that we can call Rscript to ask Rcpp about its locations PKG_CPPFLAGS=-std=c++0x -I$(LIB_GSL)/include PKG_LIBS=-L$(LIB_GSL)/lib -lgsl -lgslcblas $(shell $(R_HOME)/bin/Rscript.exe -e "Rcpp:::LdFlags()") but understand that the environment variable use here is 'just for CRAN' and you do not have to worry about it. You do need to understand what these two lines do though, which is why I recommended that you start with something simple.
:-) Success!!
I studied, found out what most of that means, and -- voila -- in the end the (very simple!! :-)) ) working version of Makevars.win is like that:
PKG_LIBS = Plastic.lib $(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e "Rcpp:::LdFlags()")
with Plastic.lib, which resides directly in src, being the library I wanted to link against.
It works, I can invoke the first simple functions from within R, I can enumerate the connected devices, clear the list and give back build-numbers and the like.
(But I fear the next questions are already forming on the horizon..... :-( )
Thank you very much for your help here,
with kind regards,
Bernhard Pollner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110426/0a9cfceb/attachment.htm>