0

我正在编写一个 R 包,我正在尝试包含Shogun 工具箱的一些功能以进行机器学习。我首先在文件夹中包含了包含 C++ 函数的shogun 文件/inst/include/夹。然后我将以下语句添加到我的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.

我究竟做错了什么?

4

1 回答 1

2

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

也就是说,在/inst/include/你有 和 的混合.h.cpp。要纠正这个问题,您应该只保留.h. 将和together 文件/inst/include/的副本保存在..h.cpp/src

为您的包建模的最佳包是RcppMLPACK1使用inst/include/src/插件管理器定义链接以及 cxx 标志

但是,您可能只想创建一个链接到系统库的包。例如RcppMLPACK2。这个包使用,它是生成configure.ac的主文件,以确保存在必要的路径。注意目录中的扩展名autoconfconfigureautoconfm4

于 2017-05-02T03:41:11.887 回答