<br><br><div class="gmail_quote">On Wed, Aug 18, 2010 at 7:22 AM, Dirk Eddelbuettel <span dir="ltr">&lt;<a href="mailto:edd@debian.org">edd@debian.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><br>
On 18 August 2010 at 09:10, Romain Francois wrote:<br>
| Yep, that is because of RcppExport. You only use RcppExport when you<br>
| call the function from .Call in R.<br>
|<br>
| RcppExport is an alias to extern &quot;C&quot; so it essentially voids the<br>
| C++-ness of the function it is applied to.<br>
<br>
</div>For completeness:  It also provided a hook to add __declspec(dllexport) for<br>
the one operating system that needed it when building DLLs.  We currently<br>
don&#39;t build DLLs there so this is moot but the option may be useful.  Hence<br>
RcppExport and not just extern &quot;C&quot;.<br></blockquote><div><br>Using the decoration __declspec(dllexport) is no longer needed because the<br>R build process uses Rtools/bin/nm.exe to extract *all* symbols to be<br>
exported, not just the symbols that are intended to be called from R.<br></div></div>