Rcpp:链接到Shogun C ++文件有问题

时间:2017-05-02 02:45:19

标签: c++ r rcpp shogun

我正在写一个R包,我试图包含Shogun toolbox for machine learning的一些功能。我首先在/inst/include/文件夹中包含了shogun folder,其中包含C ++函数。然后,我将以下语句添加到我的MakevarsMakevars.win文件中:

PKG_CPPFLAGS =  -I../inst/include/

然后我在名为test.cpp的文件中尝试了测试,我将其放在/src中,其中包含以下内容:

#include <shogun/lib/config.h>

我收到错误:test.cpp: fatal error: shogun/lib/config.h: No such file or directory compilation terminated.

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您正在尝试仅从标头的库中创建仅包含标头的包。

也就是说,在/inst/include/中,您混合了.h.cpp。要解决此问题,您应该只保留.h中的/inst/include/个文件。在.h中保留.cpp/src个文件的副本。

使用RcppMLPACK1inst/include/src/plugin manager definitionlinking plus cxx flags建模您的包的最佳方案。

但是,您可能只想创建一个链接到系统库的包。例如RcppMLPACK2。此程序包使用configure.ac,即生成autoconf的主configure,以确保存在必要的路径。请注意m4 directory

autoconf的附加信息