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的一些信息:
我使用的测试cpp代码(文件名:tst4.cpp)是:
#include <Rcpp.h>
#include "utilities.hpp"
using namespace Rcpp;
// [[Rcpp::export]]
double timesTwenty(double x) {
return timesTwo(x) * 10;
}
所有.cpp和.hpp文件都在同一个文件夹中。