CのライブラリをRのパッケージにする
- Using R — Packaging a C library in 15 minutes
- Linking static library into R,static library use for R extension
- Static library
- 基本的には
- 「全部のC関連」をsrc下に入れてコンパイル・レディな状態でgithubに上げる
- Static libraryを使って自作パッケージをコンパイルしますよ、という宣言は、Makevarsファイルに書いて、src/に置くらしい
- mseedという自作パッケージを作ろうとしていて、libmseedなるライブラリを入れこもうとしている。ダウンロードしてlibmseed.aというStatic libraryができているとする。
# See Section 1.2.1 "Using 'Makevars'" of Writing R Extensions # cran.r-project.org/doc/manuals/R-exts.pdf PKG_CFLAGS= PKG_CPPFLAGS=-Ilibmseed PKG_LIBS=-Llibmseed -lmseed $(SHLIB): libmseed/libmseed.a libmseed/libmseed.a: @(cd libmseed && $(MAKE) static CC="$(CC)" CFLAGS="$(CFLAGS)")
/***************************************************************************  R callable function ***************************************************************************/ #include <R.h> #include <Rdefines.h> #include <libmseed.h> SEXP test_hello_mseed () {   SEXP result; ...
- Dynamic Link Library...なら
- でもその前にそもそもライブラリって:こちら