On 01.02.2012 03:37, Matyas Sustik wrote:
Prof Brian Ripley wrote:
'library' in R has a different meaning: I've altered the subject to be
more accurate 'libR'.
This is what R CMD SHLIB is for: it does all this for you in a portable way.
But if you want to DIY, you can use R CMD config to find out the
appropriate linker incantation.
Thank you for the clarification. I do not insist on doing it myself
and would welcome
R doing it automatically. I guess I did not fully understand the
instructions in the
document "R Extensions". (English is my second language.)
A small example compiling a single .so would help greatly I think. My
current Makefile
that I put in src of a package skeleton looks like this to create the
.so on Linux:
all : QUIC.so
OBJECTS = QUIC.o QUIC.so
PKG_LIBS = @LAPACK_LIBS@ @BLAS_LIBS@
QUIC.o : QUIC.cpp
g++ -O3 -DNDEBUG -Wall -fpic -pthread -shared
-fno-omit-frame-pointer -ansi -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -c
QUIC.cpp -o QUIC.o
QUIC.so : QUIC.o
g++ -std=gnu99 -shared -lm -llapack -lblas -L/usr/lib/R/lib -lR -O3
QUIC.o -o QUIC.so
1. I don't believe you really need all the flags from above. If so,
within a package, use a Makevars file.
2. R CMD SHLIB QUIC.cpp shoudl do the trick already, perhaps some linker
flags are required for blas that can be specified in the same line, see
R CMD SHLIB --help
Uwe Ligges
This actually built and created a loadable package but I would want to
do it more the R-way.
Thanks in advance!
-Matyas
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.