在Windows上使用用户定义的头文件编译Rcpp程序的问题

时间:2016-01-13 00:22:09

标签: r windows rcpp

1。问题

我试图使用用户定义的.hpp头文件编译一个Rcpp程序,遵循http://dirk.eddelbuettel.com/code/rcpp/Rcpp-attributes.pdf,p9,第2.10.2节中的示例。它在我的Mac上的RStudio中很好地编译并运行良好。

然而,当我在Windows 64位笔记本电脑(Win 7)上运行完全相同的程序时,收到以下错误消息:

g++ -m64 -I"G:/R-32~1.3/include" -DNDEBUG     -I"G:/R-3.2.3/library/Rcpp/include" -I"F:/_tst/rcpp"  -I"d:/RCompile/r-compiling/local/local323/include"     -O2 -Wall  -mtune=core2 -c tst4.cpp -o tst4.o
G:\Rtools\gcc-4.6.3\bin\nm.exe: 'F:_tstrcpputilities.o': No such file
g++ -m64 -shared -s -static-libgcc -o sourceCpp_1.dll tmp.def F:_tstrcpputilities.o tst4.o -Ld:/RCompile/r-compiling/local/local323/lib/x64 -Ld:/RCompile/r-compiling/local/local323/lib -LG:/R-32~1.3/bin/x64 -lR
g++.exe: error: F:_tstrcpputilities.o: No such file or directory
Error in sourceCpp("tst4.cpp") : Error occurred building shared library. 

似乎文件路径中的斜线丢失了(我假设代替'F:_tstrcpputilities.o',它应该是'F:\_tst\rcpp\utilities.o'?),但我不知道如何解决这个问题......

2。暂定解决方案但不成功

我尝试使用devtool将我的Rtools和Rtools / gcc-x.x.x / bin目录添加到PATH,如下所示:

add_path("G:\\Rtools");
add_path("G:\\Rtools\\bin");
add_path("G:\\Rtools\\gcc-4.6.3\\bin");

不幸的是它没有帮助。同样的错误仍然存​​在。

因此...

好吧,我被困在这里......任何帮助都会受到赞赏。

=============================================== ==========================

S1。补充信息

有关我的笔记本电脑/ R / Rtools的一些信息:

  • OS:Win 7 64位
  • R版本:3.2.3(2015-12-10) - “木制圣诞树”
  • Rtools版本:Rtools3.3

我使用的测试cpp代码(文件名:tst4.cpp)是:

#include <Rcpp.h>
#include "utilities.hpp"

using namespace Rcpp;

// [[Rcpp::export]]
double timesTwenty(double x) {
    return timesTwo(x) * 10;
}

所有.cpp和.hpp文件都在同一个文件夹中。

0 个答案:

没有答案