An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20041107/c1c452a6/attachment.pl
Problem with dyn.load()
3 messages · O. Neto, Brian Ripley
Please do read the help file before posting. as the posting guide asks.
?dyn.load says
x: a character string giving the pathname to a shared library or
DLL.
Your DLL is "teste.dll", not "teste": you probably do have a file "teste"
that is not a DLL or you would get a more informative error message.
That's not a mistake I have ever seen reported on R-help.
On Sun, 7 Nov 2004, O. Neto wrote:
Hi! I am studying C language to run with R 2.0.0. My system (Windows ME /BR) is configured to run RCMD ( I have installed ActivePerl, Rtools and MinGW as indicated in http://www.murdoch-sutherland.com/Rtools/ an with correct path). I would like run the coded write below named conv.c (Example from "Write R Extension") : #include <R.h> #include <Rinternals.h> SEXP convolve2(SEXP a, SEXP b) { R_len_t i, j, na, nb, nab; double *xa, *xb, *xab; SEXP ab; PROTECT(a = coerceVector(a, REALSXP)); PROTECT(b = coerceVector(b, REALSXP)); na = length(a); nb = length(b); nab = na + nb - 1; PROTECT(ab = allocVector(REALSXP, nab)); xa = REAL(a); xb = REAL(b); xab = REAL(ab); for(i = 0; i < nab; i++) xab[i] = 0.0; for(i = 0; i < na; i++) for(j = 0; j < nb; j++) xab[i + j] += xa[i] * xb[j]; UNPROTECT(3); return(ab); } When I use C:\Arquiv~1\R\rw2000\bin>RCMD SHLIB -o C:/dev-cpp/teste.dll c:/dev-cpp/conv.c a teste.dll is created without error and located in that directory, but when I use it in RGui with "Change dir" set to C:/dev-cpp :
dyn.load("teste") results:
Error in dyn.load(x, as.logical(local), as.logical(now)) :
unable to load shared library "C:/Dev-Cpp/teste":
LoadLibrary failure: Par??metro incorreto. (Incorrect Parameter)
I tried find help in R-help, but none answers my questions.
My doubts are: Why does it occur? How do I fix it? How I can include directives in RCMD -SHLIB, for example, conv.def file to mangling names? It is editing Makevars.win?
If anybody have time to answer my question, I apreciate.
Thanks,
O. Neto
PS: There is any discussion list of R in portuguese? I can't find one.
[[alternative HTML version deleted]]
Please do note what the posting guide says about this!
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Prof. Ripley,
I would, initially, thank you for help me.
I did what you did say, I called that dll ( by "teste.dll" as wrote in
?dyn.load). It did not work.
I make a new dll for testing and again, it didn??t work, the same message
appears. I don??t know how I fix it. I have no idea.
I??ll read all "writing R extension" again. I believe that my mistake is in
config MKRules.
Thank you again for spend your time with my doubts. I??m grateful.
O. Neto