Mingw64+Openblas+R-3.0终于成功了

本文分享了在Windows 7 64位系统中配置R、OpenBLAS和RStudio的方法。通过解决依赖项如libiconv、readline等问题,并采用MSYS2进行管理,最终实现了高效稳定的开发环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在家养病,总想清爽地在Win7 x64上重新编译一下R+openblas+Rstudio。


(在Win7 x64上用openblas替换Rblas.dll,原来只能启动Rconsole,现在Rstudio可视化环境又可以用了)


方法一:

1 Mingw64环境的搭建

老外的文档很给力http://www.kineticsystem.org/?q=node/19


2 libiconv的编译

为了弄一套libiconv x64版本,还是下载libiconv-1.14.tar.gz编译为好,之前装的Mingw64一直有问题,连libiconv都报一堆错误。


3 openblas的编译

github上下载0.29正式版

  make

  make install


3 编译 R-3.0.3报错及readline编译失败

遇到挫折了,编译R-3.0.3提示没readline,mingw是最小集合,只能下载readline-6.3.tar.gz,编译时


signals.c: In function '_rl_handle_signal':
signals.c:219:10: error: 'SIGHUP' undeclared (first use in this function)
     case SIGHUP:
          ^
signals.c:219:10: note: each undeclared identifier is reported only once for each function it appears in
signals.c: In function 'rl_set_signals':
signals.c:429:32: error: 'SIGHUP' undeclared (first use in this function)
       rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
                                ^
signals.c: In function 'rl_clear_signals':
signals.c:494:36: error: 'SIGHUP' undeclared (first use in this function)
       rl_maybe_restore_sighandler (SIGHUP, &old_hup);
                                    ^
make: *** [signals.o] Error 1

方法二:试了一下TDM GCC w64

与MSYS集成有点麻烦


方法三:MSYS2(严重推荐)

各种开源东东的版本很新,而且源来自github,速度比国内访问受限的sourceforge快许多。


像ncurses、readline,不愿意重新编译的,可以直接下载(ncurses是编译readline所需,readline是编译R所需)

pacman -S mingw-w64-x86_64-ncurses

pacman -S mingw-w64-x86_64-readline


openblas(git新版本)和lapack(3.50)也可以下载现成的

pacman -S mingw-w64-x86_64-OpenBLAS-git

pacman -S mingw-w64-x86_64-lapack


编译R的Makefile构造命令调整一下,X就算了

./configure --enable-R-shlib --with-blas="-lopenblas" --with-lapack="-llapack" --with-x=no

如同在Linux上编译一样清爽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值