Добавление внешней библиотеки в пакет R с использованием Rcpp
Я пытаюсь разработать пакет R, который используетСолнечные часы C библиотека для решения дифференциальных уравнений. Чтобы пользователь не мог установить библиотеку, я помещаю исходный код библиотеки в свой пакет.
Я положил все файлы заголовков из библиотеки в/inst/include/sundials-2.6.2
и.c
файлы вsrc/sundials-2.6.2
моей папки пакета.
Из моего чтения SO сообщений на эту тему,sourceCpp
кода в нескольких файлах (например, отдельный.h
а также.cpp
файлы должны работать, если они структурированы, чтобы быть частью пакета. Я пытаюсь запустить файл примера кода из пакета Sundials
Мой код (только начальная часть) выглядит примерно так
#include <Rcpp.h>
#include "../inst/include/sundials-2.6.2/cvode/cvode.h" /* prototypes for CVODE fcts., consts. */
#include "../inst/include/sundials-2.6.2/nvector/nvector_serial.h" /* serial N_Vector types, fcts., macros */
#include "../inst/include/sundials-2.6.2/cvode/cvode_dense.h" /* prototype for CVDense */
#include "../inst/include/sundials-2.6.2/sundials/sundials_dense.h" /* definitions DlsMat DENSE_ELEM */
#include "../inst/include/sundials-2.6.2/sundials/sundials_types.h" /* definition of type realtype */
Но я получаю ошибку
fatal error: sundials/sundials_nvector.h: No such file or directory
Я делаю пример чего-то подобного, сделанного в следующих репозиториях github
Rcppsundials -https://github.com/AleMorales/RcppSundials.R/blob/master/src/cvode.cpp
который вызывает файлы заголовков, используя
#include <cvodes/cvodes.h> // CVODES functions and constants
#include <nvector/nvector_serial.h> // Serial N_Vector
#include <cvodes/cvodes_dense.h> // CVDense
и включил заголовочные файлы под/inst/include/
папка.
Это первый пакет, который я пытаюсь разработать, и я не использовал C / C ++ также широко, поэтому в том, как я пытаюсь скомпилировать эту программу, может быть что-то очень глупое.
Еще одно замечание - я смог установить и запустить пример на моей машине с OSX, но в настоящее время я работаю с машиной с Windows, на которой не установлены солнечные часы. Это имеетRtools
установлен, так что я могу скомпилировать и запустить примерRcpp
программы.
Спасибо SN