I\'ve managed to get the Rcpp.package.skeleton
to INSTALL in Windows by the following commands at the R prompt -
Rcpp.package.skeleton(\"mypackage\"
FWIW, I just got a similar error while retrofitting an existing R-only package with Rcpp, and the problem was a missing useDynLib(mypackage)
in NAMESPACE
.
If the package NAMESPACE file contains the line
useDynLib(mypackage, .registration = TRUE)
(perhaps via a roxygen line #' @useDynLib, .registration = TRUE
), then it is necessary to remove PACKAGE = "mypackage"
from .C
/ .Call
function calls:
i.e.
.Call( "rcpp_hello_world", PACKAGE = "mypackage")
becomes .Call("rccp_hello_world")
.
The package is tested extensively before every release, including on the Windows-using Win-builder. The regression tests even include building a package this way via a call to package.skeleton()
.
It is also rebuilt by CRAN post-release. Many people use it.
For all of those people, tests are appropriate and when long long
cannot be used, it is #define
-d away.
Now, you insist on building in a non-standard way: no source I know of recommends calling R CMD INSTALL
via system()
. I suspect you simply have a $PATH
mishap and find another wrong g++
version.
I would suggest to do what the documentation suggests and run
R CMD INSTALL mypackage*tar.gz
in a cmd.exe
prompt.