我写了一个.cpp文件,我想把它编译成.dll用于R和RCPP.(不使用内联包).我使用的是WinXP和R 2.13.2以及RCPP 0.9.7.我正在使用Rtools 2.14.
如何在minGW的搜索路径中包含Rcpp.h?我不记得我需要包含的文件是在C:\ Program Files\R\R-2.13.2\library\Rcpp\include中.但是,我无法添加"添加"它们到"搜索路径".
我累了一个临时的"黑客".我将C:\ Program Files\R\R-2.13.2\library\Rcpp\include的内容复制到minGW的include目录中.编译/链接过程从myfile.cpp到myfile.o,但在编译myfile.dll之前会抛出一堆错误.
我已将C:\ Program Files\R\R-2.13.2\bin\i386添加到我的PATH中,并且我从WinXP命令提示符调用R CMB SHLIB myfile.cpp.
我该怎么办?
Dir*_*tel 12
几点快速点:
在gcc与g++来自MinGW编译器使用起来就像是从其他编译器gcc系列.这意味着没有"添加到搜索路径":您使用该-I/some/dir开关添加该路径和目录.同样,-L/some/lib将该目录添加到链接器路径.
你真的想用一个Makefile.我们的Rcpp软件包附带了很多例子; 你可以看一下Makefile在ConvolveBenchmarks目录中.
但你真正想要的是使用所谓的"包".我们有一个专门用于此的整个插图Rcpp包.它可以像调用rcpp.package.skeleton()为您创建包的函数一样简单- 并且动态库被创建为副作用.
最后,我们拼写Rcpp,而不是RCPP.
该rcpp-devel邮件列表是帮助一个很好的来源了.