我正在编写一个R软件包,我正在尝试包括用于机器学习的Shogun工具箱的一些功能。我首先包含了Shogun文件夹,该文件夹包含/inst/include/
文件夹中的C 功能。然后,我将以下语句添加到我的Makevars
和Makevars.win
文件中:
PKG_CPPFLAGS = -I../inst/include/
i然后尝试了一个测试,因此在我放置在/src
中的名为test.cpp
的文件中,其中包括以下内容:
#include <shogun/lib/config.h>
我得到错误: test.cpp: fatal error: shogun/lib/config.h: No such file or directory
compilation terminated.
我在做什么错?
您正在尝试从不是 header的库中创建一个仅标头软件包。
也就是说,在/inst/include/
中,您有.h
和.cpp
的混合物。为了纠正这一点,您应仅保留.h
文件中的/inst/include/
。将.h
和.cpp
的副本保留在/src
中的文件中。
使用inst/include/
,src/
,Plugin Manager定义和链接加上CXX Flags之后的RcppMLPACK1
之后建模的最佳软件包。
但是,您可能只想创建一个链接到系统库的软件包。例如RcppMLPACK2
。该软件包使用configure.ac
,即Master autoconf
生成configure
,以确保存在必要的路径。m4
目录中 autoconf
扩展的注释