Adicionando uma biblioteca externa no pacote R usando Rcpp
Estou tentando desenvolver um pacote R que usa oRelógios de sol Biblioteca C para resolver equações diferenciais. Para que o usuário não instale a biblioteca, estou colocando o código fonte da biblioteca no meu pacote.
Coloquei todos os arquivos de cabeçalho da biblioteca em/inst/include/sundials-2.6.2
e a.c
arquivos emsrc/sundials-2.6.2
da minha pasta de pacotes.
Da minha leitura das postagens de SO sobre este tópico,sourceCpp
de código em vários arquivos (por exemplo, separar.h
e.cpp
os arquivos devem funcionar se estiverem estruturados para fazer parte do pacote. Estou tentando executar um arquivo de código de exemplo do pacote Sundials
Meu código (apenas a parte inicial) se parece com
#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 */
Estou recebendo um erro
fatal error: sundials/sundials_nvector.h: No such file or directory
Eu exemplo de algo semelhante feito nos seguintes repositórios do github
Rcppsundials -https://github.com/AleMorales/RcppSundials.R/blob/master/src/cvode.cpp
que chama os arquivos de cabeçalho usando
#include <cvodes/cvodes.h> // CVODES functions and constants
#include <nvector/nvector_serial.h> // Serial N_Vector
#include <cvodes/cvodes_dense.h> // CVDense
e incorporou os arquivos de cabeçalho sob o/inst/include/
pasta.
Este é o primeiro pacote que estou tentando desenvolver e não usei C / C ++ também extensivamente, portanto, pode haver algo muito bobo na maneira como estou tentando compilar este programa.
Apenas uma observação - consegui instalar e executar um exemplo na minha máquina OSX, mas atualmente estou trabalhando em uma máquina Windows que não possui o Sundials instalado. TemRtools
instalado, para que eu possa compilar e executar o exemploRcpp
programas.
Obrigado SN