Here are some suggested changes (under Windows) that will not affect <br>existing users but may help to prevent clashes with other packages in the future.<br><br>1. RcppExport is not defined the way it used to be under Windows, but<br>
there are situations where the old definition is convenient. For example,<br>it reduces the size of package DLL&#39;s the are not intended to be used<br>by other packages (the most common situation).<br><br>A simple work-around is to define RcppExportFinal the old way, using<br>
something like:<br><br>#if defined(mingw32) || defined(WIN32)<br>#define RcppExportFinal extern &quot;C&quot; __declspec(dllexport)<br>#else<br>#define RcppExportFinal extern &quot;C&quot;<br>#endif<br><br>Let me know if/when you implement this so it does not clash with<br>
the same definition in my package.<br><br>2. The current default behavior where a static lib is used<br>(libRcpp.a) is probably the most convenient and portable, but<br>there are situations where it is useful to link directly to Rcpp.dll.<br>
<br>To facilitate this one of the path functions in RcppLdpath.R<br>needs to be changed slightly for the case static=FALSE:<br><br>RcppLdFlags &lt;- function(static=staticLinking()) {<br>    rcppdir &lt;- RcppLdPath()<br>
    if (static) {                               # static is default on Windows and OS X<br>        flags &lt;- paste(rcppdir, &quot;/libRcpp.a&quot;, sep=&quot;&quot;)<br>        #if (.Platform$OS.type==&quot;windows&quot;) {<br>
        #    flags &lt;- shQuote(flags)<br>        #}<br>    } else {                    # else for dynamic linking<br>        flags &lt;- paste(&quot;-L&quot;, rcppdir, &quot; -lRcpp&quot;, sep=&quot;&quot;) # baseline setting<br>
        if((.Platform$OS.type == &quot;windows&quot;)) {<br>          flags &lt;- paste(rcppdir, &quot;s/Rcpp.dll&quot;,sep=&quot;&quot;)<br>        }<br>        if ((.Platform$OS.type == &quot;unix&quot;) &amp;&amp;    # on Linux, we can use rpath to encode path<br>
            (length(grep(&quot;^linux&quot;,R.version$os)))) {<br>            flags &lt;- paste(flags, &quot; -Wl,-rpath,&quot;, rcppdir, sep=&quot;&quot;)<br>        }<br>    }<br>    invisible(flags)<br>}<br><br>Dominick<br>
<br><br>