C++中调用R Language的类库
来源:互联网 发布:哪里的mac pro最便宜 编辑:程序博客网 时间:2024/05/19 23:29
一、
安装R:从R的网站下载并运行R-2.15.2-win32.exe,记住安装路径如:C:\Program Files\R\R-2.15.2。
从R的网站下载R-2.15.2.tar.gz,并解压缩,将解压后的文件全部copy到安装路径C:\Program Files\R\R-2.15.2下,选择覆盖重复的目录
二、
运行Rtools210.exe,选择默认安装路径,组件全部安装。注意:选上选项,即改变系统环境变量
三、
3.1 生成 Rmath.dll
用cmd进入安装路径C:\Program Files\R\R-2.15.2下
cd C:\Program Files\R\R-2.15-2
cd src\include
make -f Makefile.win config.h Rconfig.h Rmath.
如果报错,../gnuwin32/MkRules找不到,去对应目录下,有个同名的文件,把后缀去掉
如果有个rmath.h找不到,从include 拷贝到src/include
cd ../nmath/standalone
make -f Makefile.win
然后看到一大串的编译输出,并在standalone文件夹下看到Rmath.dll 和 Rmath.def
3.2 生成Rmath.dll
首先为了用pexports,要安装MinGW的插件:
(如果没有设置好环境变量会找不到命令: )
下载mingw-utils-0.3.tar.gz(pexports在这里面),直接解压缩到c:\Rtools\MinGW\里面就可以了。运行:
pexports Rmath.dll > Rmath.exp
lib /def:Rmath.exp /out:Rmath.lib
//貌似 lib 这个命令也会改Rmath.exp文件,所以只能执行一次,否则第二次生成出的lib文件是错误的
//MACHINE这个开关也很重要,要和c++工程的设置一致,否则编译会报load error错误
(说明1:
这里的lib是visual studio C++的命令,如果查不到这个命令, 请将安装visual studio C++的bin添加到环境变量PATH中,方法如下:
在Path后面加上如我的系统中是C:\Program Files\Microsoft Visual Studio 9.0\VC\bin。
请将visual studio C++安装目录下的,如我的系统中C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\下的msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\bin下面)
然后我们就得到Rmath.lib了
四,在visual C++工程中调用Rmath库
4.1建立工程
建立一个win32 console的空的工程,工程Linker->Additional Dependencies中添加Rmath.lib,将Rmath.dll拷贝到工程的目录下,然后添加一个内容如下的main.cpp,就可以编译运行了:
main.cpp 内容:
#define MATHLIB_STANDALONE 1 //宏定义一定要,参考Rmath.h
#include <Rmath.h>
#include <stdio.h>
int main(int argc, char** argv)
{
}
- C++中调用R Language的类库
- C++中调用R Language的类库(转载)
- 040921 R C language
- The C programing language K&R 笔记
- K&R The C Programming language 2
- K&R The C Programming Language(SecondEdition)中getchar()与EOF
- R language
- C#中调用简单的R语言
- java中调用R
- JAVA中调用R
- java中调用R
- python中调用R
- java中调用R
- CMD中调用R
- C Programming Language学习中遇到的问题
- [R]R语言中碰到的问题1--C编译
- K&R the C programming language——study notes
- C#中"/r/n"的含义!
- Web容器【Tomcat】
- HEVC学习(九) —— 帧内预测系列之六
- 带新建文件夹功能的文件夹选择
- 关于字符串转换的
- Java对象的序列化和反序列化实践
- C++中调用R Language的类库
- html实现面板效果
- 中语言超酷特性 之 --- 数组
- Windows 平台10.2.0.1 升级到10.2.0.4 报msvcr71.dll错误解决
- thttpd源码分析-----http协议头部检测
- iOS Framework那些事儿
- 安装slurm与重启slurm
- Struts2中的OGNL表达式
- js实现页面跳转的几种方式