<div dir="ltr">If you're trying to compile this as a standalone application, I guess you have to link against both libRcpp and (a generated?) libR. Try R-exts; specifically, <a href="http://cran.r-project.org/doc/manuals/r-devel/R-exts.html#Compiling-against-the-R-library">http://cran.r-project.org/doc/manuals/r-devel/R-exts.html#Compiling-against-the-R-library</a> .<div>
<div><div><br></div><div style>-Kevin</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, May 26, 2013 at 10:52 AM, Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 26 May 2013 at 10:23, Qing Xia wrote:<br>
| Dear All,<br>
|<br>
| I tried to use NumericVector in class declaration, Eclipse could compile the<br>
| code, but could not run it (something to do with the R.dll). I tried replacing<br>
| NumericVector with vector<double> and it worked with no problem. I want to use<br>
| NumericVector so that I could use Rcpp sugar to compute the mean and variance.<br>
| Could it possibly I get it wrong that sugar only take NumericVector? <br>
|<br>
| I have configured Eclipse and I could ran the codes in the example folder<br>
| perfectly. I've attached simplified version of my code. Any hints please? I've<br>
| been stuck on this.<br>
<br>
</div>Well -- if you cannot get Eclipse to build your code, stop using Eclipse.<br>
<br>
Many of use just the command-line, or command-line in conjunction with an<br>
editor like Emacs, others really like RStudio --- but you need to figure this<br>
out, or else you won't have a chance to set Eclipse up right.<br>
<br>
Dirk<br>
<div><div class="h5"><br>
<br>
| Thanks!<br>
|<br>
| Qing<br>
|<br>
| #include<Rcpp.h><br>
| using namespace Rcpp;<br>
|<br>
| class Stock{<br>
| private:<br>
| NumericVector prices;<br>
| NumericVector returns;<br>
| void calcReturns();<br>
| public:<br>
| void loadPricesFromFile(const char *symbol);<br>
| NumericVector getReturns(unsigned);<br>
| NumericVector getPrices(unsigned);<br>
| double getMeanReturn(unsigned);<br>
| double getReturnStdDev(unsigned);<br>
| void plotHistory(unsigned);<br>
| };<br>
|<br>
| void Stock::calcReturns(){<br>
| for (int i=0;i<prices.size()-1;i++){<br>
| returns.push_back(log(prices[i]/prices[i+1]));<br>
| }<br>
| };<br>
|<br>
| NumericVector Stock::getPrices(unsigned n){<br>
| NumericVector vec(n);<br>
| for (int i=0;i<vec.size();i++){<br>
| vec.push_back(prices[i]);<br>
| }<br>
| return vec;<br>
| }<br>
|<br>
| NumericVector Stock::getReturns(unsigned n){<br>
| NumericVector vec(n);<br>
| for (int i=0;i<vec.size();i++){<br>
| vec.push_back(returns[i]);<br>
| }<br>
| return vec;<br>
| }<br>
|<br>
| double Stock::getMeanReturn(unsigned n){<br>
| NumericVector vec(n);<br>
| vec=getReturns(n);<br>
| double m=mean(vec);<br>
| return m;<br>
| }<br>
|<br>
| double Stock::getReturnStdDev(unsigned n){<br>
| NumericVector vec(n);<br>
| vec=getReturns(n);<br>
| double m=var(vec);<br>
| return m;<br>
| }<br>
|<br>
| void Stock::plotHistory(unsigned n){<br>
|<br>
| }<br>
|<br>
| void Stock::loadPricesFromFile(const char *symbol){<br>
| for (int i=0;i<1000;i++){<br>
| prices.push_back(1000-i);<br>
| }<br>
| calcReturns();<br>
| }<br>
|<br>
| int main(int argc,char *argv[]){<br>
| Stock stock;<br>
| stock.loadPricesFromFile("MSFT");<br>
|     double m,sd;<br>
|     unsigned num;<br>
|     std::cout<<"Please enter the number for computation:";<br>
|     std::cin>>num;<br>
|     m=stock.getMeanReturn(num);<br>
|     sd=stock.getReturnStdDev(num);<br>
|     std::cout<<m<<"\t"<<sd<<std::endl;<br>
|     return 0;<br>
| }<br>
|<br>
</div></div>| ----------------------------------------------------------------------<br>
| _______________________________________________<br>
| Rcpp-devel mailing list<br>
| <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
| <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
<span class="HOEnZb"><font color="#888888">--<br>
Dirk Eddelbuettel | <a href="mailto:edd@debian.org">edd@debian.org</a> | <a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a><br>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">-Kevin</div>
</div>