a*******1 发帖数: 1554 | 1 好像在C程序下要含有这个文件才能被R调用,但visual C++好像没有:
#include "stdafx.h"
#include "R.h"
using namespace System;
int main(array ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}
这个程序编译时说
Cannot open include file: 'R.h': No such file or directory
请问应该怎么做?
比如我有一个程序useC.c
#include
/* useC.c */
void useC(int *i) {
i[0] = 11;
}
但在windows系统,命令行好像跟其它不大一样,用
R CMD SHLIB useC.c
显示“R不是内部或外部命令....”,请大家指点一下应该怎么做,谢谢。
在R下面用system("R CMD SHLIB useC.c")它说
警告信息:
运行命令'R CM... 阅读全帖 |
|
t*****s 发帖数: 49 | 2 【 以下文字转载自 Linux 讨论区 】
发信人: trojans (trojan+), 信区: Linux
标 题: 一个关于在 cygwin 中使用 R 的问题
发信站: BBS 未名空间站 (Mon Apr 2 00:47:06 2007)
不知道这个问题该在linux 还是 windows问。
我用win xp + cygwin, 现在我需要在cygwin中执行 R CMD SHLIB .. (compile come C
codes)
但是我得到错误信息:
WARNING: ignoring environment value of R_HOME
ERROR: R_HOME ('/home/Owner/r/R-2.0.1') not found
我已经把R_HOME设成了现在正确的R安装路径,可是cygwin还是去找一个
不存在的老路经。 请问如何才能改过来。
顺便问一下,如何才能看到一个命令的详细信息: 它到底在什么位置寻找什么文件来
执行,
跟什么environment variable有关,等等。
多谢大家帮忙了。 |
|
a*******s 发帖数: 138 | 3 编程自己学了一点点,因为R跑循环太慢,所以调用fortran。
先用 R CMD SHLIB fortrancode.f 生成shared library,在从R调用:dyn.load("
fortrancode.so")
速度有所提高,但还是不够快。所以我想先找到bottle neck。
似乎纯fortran可以编译时叫 "-g -pg"来逐行profile。但R调用时就不知道怎么弄了。
请高手指点,谢谢! |
|
|
F****r 发帖数: 151 | 5 谢谢楼上。 核心步骤就是 R CMD SHLIB a.c
DUMMY 级详细步骤如下(牛人可直接飘过):
WindowXP 系统, R 2.7.1 已经下载安装 在c:文件路径c:\R
1.从http://www.murdoch-sutherland.com/Rtools/下载安装Rtools28.exe ,存为c:\Rtools
2.在MS-DOS的prompt下,把路径改为 c:\R\bin
3.在c:\R\bin>后输入路径
PATH=c:\Rtools\bin;c:\Rtools\perl\bin;c:\Rtools\MinGW\bin;c:\texmf\miktex\
bin;c:\progra~1\htmhe~1;c:\R\bin;c:\windows;c:\windows\system32
注意你的路径可能会不同,要因人制宜。 参考 page 54 Appendix E of R
Installation and Administration , 尤其注意以下两段:
First:
Your PATH may include ‘.’ first, then the ‘bi |
|
c*******1 发帖数: 342 | 6 我知道怎么弄了
$PKG_LIBS="-lgsl -lgslcblas -L/Dir_of_gsl_libraries";
然后再用 R CMD SHLIB yourcode.cpp |
|