';制作';在RStudio中尝试在Windows 10上创建共享库文件时未找到
嗨 使用上面的代码和gfortran编译器,我试图创建一个共享库文件(.so或.dll),并将其加载到Windows 10上的RStudio中 我找到的原始代码说我应该创建一个“.so”文件。 但当我在Windows10上工作时,我想我应该改为创建“.dll”文件 参考web(),我制作了一个名为“factor.f”的Fortran脚本,并尝试使用上面的system()函数在RStudio中编译它;我编译失败,出现错误: 在系统(cmd)中:未找到“make” 我检查了我的系统是否在cmd(版本6.3.0)中有带“gcc-v”的gfortran 我还将gfortran注册到我的环境路径(C:\MinGW\bin) 使用-o标志运行system()(例如system('R CMD SHLIB-o fsmm.dll fact.f')) 也提示了同样的错误';制作';在RStudio中尝试在Windows 10上创建共享库文件时未找到,r,fortran,shared-libraries,R,Fortran,Shared Libraries,嗨 使用上面的代码和gfortran编译器,我试图创建一个共享库文件(.so或.dll),并将其加载到Windows 10上的RStudio中 我找到的原始代码说我应该创建一个“.so”文件。 但当我在Windows10上工作时,我想我应该改为创建“.dll”文件 参考web(),我制作了一个名为“factor.f”的Fortran脚本,并尝试使用上面的system()函数在RStudio中编译它;我编译失败,出现错误: 在系统(cmd)中:未找到“make” 我检查了我的系统是否在cmd(版本
如何在Windows 10上的RStudio中生成.so(或.dll)文件?我通过重新安装Rtools解决了问题 执行此操作后,find_rtools()返回“TRUE”,而没有在上述代码中运行assignInNamespace(~~)
谢谢。你安装了rtools吗?你需要一个
make
的工作副本来编译,windows没有。@MrFlick是的,我有。但是R没有识别它(find\u rools()返回“FALSE”),所以我添加了assignInNamespace(~~),这使得find\u rtools()返回“TRUE”
require(devtools)
assignInNamespace("version_info",
c(devtools:::version_info,
list("3.5" = list(version_min = "3.3.0",
version_max = "99.99.99",
path = "bin"))),
"devtools")
find_rtools() # TRUE
system('R CMD SHLIB facto.f') ## got an error
dyn.load('facto.so') ## haven't run yet. .so or .dll