R 中的共享对象

Shared object in R

我想 运行 来自 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