[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