我写了一个R语言软件包(package),其中有一部分是C语言的代码,在R中通过dyn.load("myfunction.so")加载,并使用.C的方式调用。程序已经调试通过了,在制作软件包时,执行过package.skeleton之后,我将C源代码放在libs目录下,与man,R是同一级的子目录。执行R CMD BUILD成功,生成对应的tar.gz文件,并执行安装R CMD INSTALL,成功安装在~/R/x86_64-pc-linux-gnu-library/3.1/firstfun目录下,firstfun是对应软件包的名字。在该目录下,子目录libs中存在文件myfunction.so。
现在的问题是,在library软件包后,执行该软件包的R代码,其中执行到dyn.load("myfunction.so")时,R仅仅在当前路径查找myfunction.so,而不是在~/R/x86_64-pc-linux-gnu-library/3.1/firstfun/libs下查找myfunction.so。这是怎么回事呢?请高手指教。
|