[Cbc] Cbc build fails whwn cross-compiled for 64 bit Windows

John Forrest john.forrest at fastercoin.com
Tue Mar 1 09:12:54 EST 2011


Kish,

Actually Stefan Vigerske had done a better job than me, which should
also fix the AMD problem.  He modified configure so it sets
-Wno-long-long which is more elegant than pedantic-errors.

John

On Tue, 2011-03-01 at 13:54 +0000, Kish Shen wrote:
> Hi John,
> 
> Thanks. I had meant to post further comments on this, as I had a further 
> instance of the same problem, this time with Clp, when compiled with UFL 
> AMD.
> 
> The problem here seems unavoidable -- UFL AMD is written in C, and for 
> Win64, long long is the only standard C integer type that is word sized
> (and I think long long is in the C standard). In compiling with UFL AMD, 
> amd.h is included in the Clp code, and the compile fails because of the 
> pedantic-errors flag. I got around the problem by removing the flag from 
> compile, but is there a better way to get around this?
> 
> Cheers,
> 
> Kish
> 
> 
> On 01/03/2011 10:43, John Forrest wrote:
> > Should be fixed in trunk and stable/2.8
> >
> > On Wed, 2011-02-23 at 01:13 +0000, Kish Shen wrote:
> >> Hi,
> >>
> >> This is probably strictly not an issue with CBC, but it happened when I
> >> was compile CBC, so I am reporting it here.
> >>
> >> I have actually noticed this before, but I am not sure I have reported
> >> it, probably because I didn't know which mailing list to post to.
> >>
> >> I am cross-compiling for 64 bit Windows, using MinGW-w64, running on
> >> Linux. This fails unless the source is modified. The failure happens
> >> when trying to compile CoinModelUseful2.cpp (in CoinUtils):
> >>
> >> ../../../CoinUtils/src/CoinModelUseful2.cpp: In function 'double
> >> yyparse(symrec*&, const char*, char*&, int&, const double*, const
> >> CoinModelHash&, int&, double, int&, YYSTYPE&, int&)':
> >> ../../../CoinUtils/src/CoinModelUseful2.cpp:950:3: error: ISO C++ 1998
> >> does not support 'long long'
> >>
> >> This fails because g++ is called with the -pedantic-errors flag, and
> >> long long is not part of the C++ standard. I assume long long is used
> >> here to represent a word-sized integer, because only long long (of the
> >> standard C integer types) is word-sized (64 bit) in Microsoft C/C++.
> >>
> >>
> >> Kish Shen
> >>
> >
> >
> > _______________________________________________
> > Cbc mailing list
> > Cbc at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/cbc
> 
> 




More information about the Cbc mailing list