Skip to content

Query about C Function Interface

3 messages · 70808subhash kalla, Brian Ripley, Duncan Murdoch

#
Sir/Madam,

I am a graduate student in Petroleum Engineering. I have a problem in using 
R and hope that you could help in solving that. I have a code in C, which 
displays orthogonal arrays when I give number of rows and number of columns 
to it. I have another code in R that calls this C code. I am very new to R. 
I downloaded the R and loaded packages base and mva. I also kept my C code 
.exe file in the R\rw1070 directory and used the function that is written in 
R. There is some problem in this line it seems:

if(!is.loaded(C.symbol("woa")))  dyn.load(woa.obj)   # woa is my file name 
in C

Error message coming like this:

Error in dyn.load(x, as.logical(local), as.logical(now)) :
        unable to load shared library "C:/Program Files/R/rw1070/woa.so":
  LoadLibrary failure:  The specified module could not be found

I tried to get help from help files but I couldn’t get the problem solved. 
Its very important for me to fix this problem as fast as possible and hope 
you could help me in this regard.

Thank You
Sincerely,
Kalla
#
You are trying to load woa.obj, and you are on Windows which should be
looking for a .dll and the error message says woa.so.  You say you keep
your .exe in the rw1070 directory.

You are rather confused!  dyn.load on Windows loads a DLL file from the
current working directory, *as its help says*.  You need to build a
suitable DLL.
On Thu, 5 Jun 2003, 70808subhash kalla wrote:

            
Perhaps you should be paying a consultant to help you, then?
#
On Thu, 05 Jun 2003 23:50:07 -0500, you wrote:

            
This message indicates that you set your filename to "woa.so", which
doesn't make sense in a Windows context.  As Brian Ripley said, you
need to make a DLL.

There are some instructions on making DLLs in the readme.packages help
file; more are on my web page

 <http://www.stats.uwo.ca/faculty/murdoch/software/compilingDLLs/>

Duncan Murdoch