我想从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
我该怎么办? 提前致谢
答案 0 :(得分:0)
正如错误消息所示,您需要-fPIC
。
请参阅“编写R扩展”手册并使用R CMD COMPILE myfile.f
。