[Rcpp-devel] How to put the code 2013-01-05-r-function-from-c++.cpp in the src/ directory of a package?
Dirk Eddelbuettel
edd at debian.org
Sat May 25 22:54:34 CEST 2013
On 25 May 2013 at 14:21, Peng Yu wrote:
| > Try sourceCpp("somefile.cpp", verbose=TRUE) to see how the examples
| > using Rcpp Attributes add an additional layer that deal with .Call and SEXP
| > arguments.
|
| Hi Dirk,
|
| When I try to replicate the method used sourceCpp, I get the following
| error. I'm not sure what is wrong. Would you please take a look how to
| fix the error? Thanks.
|
| ~/dvcs_src/rexample/Rexample/cran/Rcpp/sourceCppFunction$ Rshl.sh main.cpp
| llvm-g++-4.2 -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names
| -undefined dynamic_lookup -single_module -multiply_defined suppress
| -L/usr/local/lib -L/usr/local/lib -o main.so main.o
| /Users/py/utility/R_user/Rcpp/lib/libRcpp.a
| -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
| -Wl,CoreFoundation
| ~/dvcs_src/rexample/Rexample/cran/Rcpp/sourceCppFunction$ Rscript main.R
| > library(Rcpp)
| > dl=dyn.load('main.so')
| > callFunction=Rcpp:::sourceCppFunction(function(x, f) {}, FALSE, dl, 'callFunction')
You. Are. Still. Doing. It. Wrong.
Why did you think you'd need dyn.load? Which of my posts to you had that?
Dirk
| > set.seed(42)
| > x=rnorm(1e5)
| > callFunction
| function (x, f)
| .Primitive(".Call")(<pointer: 0x103c73660>, x, f)
| > callFunction(x, fivenum)
| terminate called after throwing an instance of 'Rcpp::not_compatible'
| what(): cannot convert to function
| Abort trap: 6
|
| --
| Regards,
| Peng
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list