[Rcpp-devel] registerPlugin("QuantLib",.....)
Dirk Eddelbuettel
edd at debian.org
Mon Jan 19 19:58:16 CET 2015
On 19 January 2015 at 19:36, André de Boer wrote:
| Hi,
|
| I try to run this code in RStudio
|
| // Original Klaus Spanderen R/Finance 2013: Applied Finance with R
| library(Rcpp)
| library(inline)
|
| registerPlugin("QuantLib",
| Rcpp:::Rcpp.plugin.maker(include.before='#include <ql/quantlib.hpp>',
| libs="-lQuantLib"))
|
| blackFormulaCall <- cxxfunction(
| signature(strike="numeric", fwd="numeric",
| stdDev="numeric", discount="numeric"),
| body='
| using namespace QuantLib;
| return wrap(blackFormula(Option::Call,
| as<Real>(strike), as<Real>(fwd),
| as<Real>(stdDev), as<Real>(discount)));',
| plugin="QuantLib")
|
| But I get this error:
|
| Error in compileCode(f, code, language = language, verbose = verbose) :
| Compilation ERROR, function(s)/method(s) not created! Warning message:
| running command 'make -f "C:/PROGRA~1/R/R-31~1.2/etc/x64/Makeconf" -f
| "C:/PROGRA~1/R/R-31~1.2/share/make/winshlib.mk"
| SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)'
| SHLIB="file29c067ef2ad7.dll" WIN=64 TCLBIN=64
| OBJECTS="file29c067ef2ad7.o"' had status 127
| In addition: Warning message:
| running command 'C:/PROGRA~1/R/R-31~1.2/bin/x64/R CMD SHLIB
| file29c067ef2ad7.cpp 2> file29c067ef2ad7.cpp.err.txt' had status 1
|
| I have a working version of quantlib-1.4, but how do I tell the
| compiler where to find it?
Windows is, as usual, harder. On the other OSs, we can rely on
quantlib-config.
In RQuantLib we have this in Makevars.win:
## The environment variable QUANTLIB_ROOT has to point to an existing build of QuantLib
## With R 2.12.0 and later, we also support 32 and 64 bit builds and need to differentiate
PKG_CXXFLAGS=-I$(QUANTLIB_ROOT) -I../inst/include -I. -I$(BOOSTLIB) $(SHLIB_OPENMP_CFLAGS) -fpermissive
PKG_LIBS=-L$(QUANTLIB_ROOT)/lib${R_ARCH} -lQuantLib $(SHLIB_OPENMP_CFLAGS)
I think you'd need to make up a Windows variant of the plugin. Note that
there is also an rquantlib-devel mailing list...
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the Rcpp-devel
mailing list