Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的共享对象_R_Fortran_Shared Objects - Fatal编程技术网

R中的共享对象

R中的共享对象,r,fortran,shared-objects,R,Fortran,Shared Objects,我想从R运行FORTRAN子程序。我读到,我需要一个共享对象(.so文件)来运行子程序。 为了创建共享对象,我成功地编译了FORTRAN子例程。 但是在创建共享对象时,它给出了以下错误 /usr/bin/ld: temain.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC temain.o: could not read

我想从R运行FORTRAN子程序。我读到,我需要一个共享对象(.so文件)来运行子程序。 为了创建共享对象,我成功地编译了FORTRAN子例程。 但是在创建共享对象时,它给出了以下错误

/usr/bin/ld: temain.o: relocation R_X86_64_32 against `.rodata' can not be 
used when making a shared object; 
recompile with -fPIC
temain.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
给出的命令是
gfortran-shared-o temain.so*.o

我该怎么办?
提前感谢

如错误消息所示,您需要
-fPIC

请参阅编写R扩展手册,并使用
R CMD COMPILE myfile.f

解决了这个问题(有很多警告)。它之前给出了错误,因为我没有删除之前创建的.o文件。显然,您必须删除并重建该文件。这就是重点:没有重新定位信息的对象代码。