[Rcpp-devel] help with an error on windows 7 64bits

Bob Carpenter carp at alias-i.com
Wed Jul 11 04:25:45 CEST 2012


On 7/10/12 9:30 PM, Dirk Eddelbuettel wrote:
>
> On 10 July 2012 at 21:01, Jiqiang Guo wrote:
> | Dear List:
> |
> | I case across an error on Windows 7 64bits,  any idea how can I avoid that?
> | I wish I could provide a demonstrative example, but it's too complicated now.
> |
> | This is the error report:
>

>
> Here I can only surmise that you used 'long long' which is not permitted on
> CRAN as its mandated compilers versions do not (yet) support C++11. Which is
> why Rcpp (as shipped from CRAN) cannot support it.

Thanks, Dirk.  We use long long.  I didn't realize
it was C++11 because it apparently snuck into C99,
so neither clang++ nor g++ give C++11 warnings for long
long.  We excised all the C++11 we knew about because
we knew CRAN didn't like it.

Ironically, the long long types went in to fix earlier
build problems on Windows 64-bit.

We can probably ifdef a little and get int64_t and
unsigned int64_t into the Windows code.

C++ sure is ugly to make portable.

 > It really helps when you show __code__ producing the error in question.

I couldn't agree more.  Mozilla has a nice set of
guidelines:

   https://developer.mozilla.org/en/Bug_writing_guidelines

So thanks again for the mindreading debugging.  Our
code size is huge due to Eigen and Boost includes, so
it's non-trivial to create a reproducible example,
especially when you have no idea that there's anything
special about long long.

- Bob



More information about the Rcpp-devel mailing list