<html><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:12pt"><div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Greetings. &nbsp;I'm trying to bootstrap my way into Rcpp. &nbsp;I have the impression</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">that the "Sugar" extension to Rcpp allows one to use R syntax to run a</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">substantial subset of R<span class="Apple-tab-span" style="white-space:pre">        </span>commands within C++ (i.e., using native C++ code, not</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">calling back to R). &nbsp;If that's the case, I evidently have a gaping hole in my</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">understanding.</font></div><div><font class="Apple-style-span"
 face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">I tried to run the following R program, but I couldn't get the C++ part to</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">compile:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; library(Rcpp)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; library(inline)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; xorig &lt;- c(1, -2, 3, -4, 5, -6, 7)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp;
 &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; code &lt;- '</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; NumericVector x(xs);</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; return sapply( x, abs );</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; '</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; xabs &lt;- cxxfunction(signature(xs="numeric"),</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plugin="Rcpp",</font></div><div><font
 class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; body=code)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; &nbsp; xabs(xorig)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">I've appended the output of one of my attempts. &nbsp;I'd appreciate it if somebody</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">could point me in the right direction here.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">--
 Mike</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">$ R --vanilla &lt; mhSugar.R</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">R version 2.13.1 (2011-07-08)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Copyright (C) 2011 The R Foundation for Statistical Computing</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">ISBN 3-900051-07-0</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Platform: x86_64-redhat-linux-gnu
 (64-bit)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">R is free software and comes with ABSOLUTELY NO WARRANTY.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">You are welcome to redistribute it under certain conditions.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Type 'license()' or 'licence()' for distribution details.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; Natural language support but running in an English locale</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">R is a collaborative project
 with many contributors.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Type 'contributors()' for more information and</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">'citation()' on how to cite R or R packages in publications.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Type 'demo()' for some demos, 'help()' for on-line help, or</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">'help.start()' for an HTML browser interface to help.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Type 'q()' to quit R.</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt;
 library(Rcpp)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt; library(inline)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt; xorig &lt;- c(1, -2, 3, -4, 5, -6, 7)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt; &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt; code &lt;- '</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">+ &nbsp; &nbsp; NumericVector x(xs);</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">+ &nbsp; &nbsp; return sapply( x, abs );</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">+ '</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt;
 &nbsp;&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&gt; xabs &lt;- cxxfunction(signature(xs="numeric"),</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plugin="Rcpp",</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; body=code)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">file666a1f9c.cpp: In function ‘SEXPREC* file666a1f9c(SEXP)’:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">file666a1f9c.cpp:32:27: error: no matching function for call to</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">‘sapply(Rcpp::NumericVector&amp;, &lt;unresolved overloaded function
 type&gt;)’</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">file666a1f9c.cpp:32:27: note: candidate is:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">/usr/lib64/R/library/Rcpp/include/Rcpp/sugar/functions/sapply.h:103:1: note:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">template&lt;int RTYPE, bool NA, class T, class Function&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::sugar::Sapply&lt;RTYPE, NA, T, Function, Rcpp::traits::same_type&lt;typename</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::traits::result_of&lt;Function&gt;::type, typename</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::traits::storage_type&lt;Rcpp::traits::r_sexptype_traits&lt;typename</font></div><div><font class="Apple-style-span"
 face="'lucida console', sans-serif">Rcpp::traits::result_of&lt;Function&gt;::type&gt;::rtype&gt;::type&gt;::value&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::sapply(const Rcpp::VectorBase&lt;RTYPE, LHS_NA, LHS_T&gt;&amp;, Function)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">make: *** [file666a1f9c.o] Error 1</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">ERROR(s) during compilation: source code errors or compiler configuration</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">errors!</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif"><br></font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Program source:</font></div><div><font
 class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 1:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 2: // includes from the plugin</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 3:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 4: #include &lt;Rcpp.h&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 5:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 6:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 7: #ifndef BEGIN_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 8: #define BEGIN_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; 9: #endif</font></div><div><font
 class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;10:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;11: #ifndef END_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;12: #define END_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;13: #endif</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;14:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;15: using namespace Rcpp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;16:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;17:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;18: // user includes</font></div><div><font
 class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;19:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;20:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;21: // declarations</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;22: extern "C" {</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;23: SEXP file666a1f9c( SEXP xs) ;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;24: }</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;25:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;26: // definition</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;27:&nbsp;</font></div><div><font
 class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;28: SEXP file666a1f9c( SEXP xs ){</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;29: BEGIN_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;30:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;31: &nbsp; &nbsp; NumericVector x(xs);</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;32: &nbsp; &nbsp; return sapply( x, abs );</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;33:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;34: END_RCPP</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;35: }</font></div><div><font class="Apple-style-span" face="'lucida console',
 sans-serif">&nbsp;36:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp;37:&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Error in compileCode(f, code, language = language, verbose = verbose) :&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">&nbsp; Compilation ERROR, function(s)/method(s) not created! file666a1f9c.cpp: In</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">function ‘SEXPREC* file666a1f9c(SEXP)’:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">file666a1f9c.cpp:32:27: error: no matching function for call to</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">‘sapply(Rcpp::NumericVector&amp;, &lt;unresolved overloaded function type&gt;)’</font></div><div><font class="Apple-style-span" face="'lucida
 console', sans-serif">file666a1f9c.cpp:32:27: note: candidate is:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">/usr/lib64/R/library/Rcpp/include/Rcpp/sugar/functions/sapply.h:103:1: note:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">template&lt;int RTYPE, bool NA, class T, class Function&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::sugar::Sapply&lt;RTYPE, NA, T, Function, Rcpp::traits::same_type&lt;typename</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::traits::result_of&lt;Function&gt;::type, typename</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::traits::storage_type&lt;Rcpp::traits::r_sexptype_traits&lt;typename</font></div><div><font class="Apple-style-span" face="'lucida console',
 sans-serif">Rcpp::traits::result_of&lt;Function&gt;::type&gt;::rtype&gt;::type&gt;::value&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Rcpp::sapply(const Rcpp::VectorBase&lt;RTYPE, LHS_NA, LHS_T&gt;&amp;, Function)</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">make: *** [file666a1f9c.o] Error 1</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">Calls: cxxfunction -&gt; compileCode</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">In addition: Warning message:</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">running command '/usr/lib64/R/bin/R CMD SHLIB file666a1f9c.cpp 2&gt;</font></div><div><font class="Apple-style-span" face="'lucida console', sans-serif">file666a1f9c.cpp.err.txt' had status 1&nbsp;</font></div><div><font class="Apple-style-span" face="'lucida console',
 sans-serif">Execution halted</font></div><div style="font-family: 'lucida console', sans-serif; font-size: 12pt; "><br></div></div></div></body></html>