<div dir="ltr">Hello Romain,<div><br></div><div style>I tested Rcpp11 under Mac OS (10.8.5) using Apple's</div><div style>clang-500.2.75 (Xcode 5), and also under Linux. Here are</div><div style>some results:</div><div style>
<br></div><div style>1. The recommended install method</div><div style>    devtools::install_github("romainfrancois/Rcpp11")</div><div style>    did not work. The problem seems to be that it looks at</div><div style>
    hadley's github repo instead of yours? The work-around is</div><div style>    simply to download the zip file.</div><div style><br></div><div style>2. Under Mac OS inclusion of internal.h causes compilation to fail</div>
<div style>    because CALLFUN_1 defines a function with no 'extern "C"'</div><div style>    linkage specification, while RCPP_FUN_1 defines the same</div><div style>    function with this linkage specification. </div>
<div style><br></div><div style>    The error results from</div><div style>    improved compliance with the standards: C++98 and C++11</div><div style>    standards (Section 7.5.1) state that two function types with</div>
<div style>    with different linkage are different types, yet one cannot</div><div style>    overload the other because you cannot overload on the</div><div style>    "return type" (which arguably includes the linkage).</div>
<div style><br></div><div style>   The work-around is to insert extern "C" in the CALLFUN_xx</div><div style>   macros in internal.h. This is also needed in the declaration of</div><div style>   init_Rcpp11_routines() in internal.h.</div>
<div style><br></div><div style>3. The default file system type under Mac OS uses case-insensitive</div><div style>    file names (like Windows), whereas Linux file systems use </div><div style>    case-sensitive file names. This can cause builds that work</div>
<div style>    under Mac OS to fail under Linux, and this happens with </div><div style>    Rcpp11: for example, Rcpp/Vector.h includes Rcpp/Na_Proxy.h,</div><div style>    yet the file that exists on disk is Rcpp/NA_Proxy.h.</div>
<div style><br></div><div style>    Thus periodic testing on systems with file name case-sensitivity</div><div style>    can prevent big porting and refactoring headaches.</div><div style><br></div><div style>Cheers,</div>
<div style>Dominick</div></div>