[Coin-discuss] Alps MS-VS workspace

Laszlo Ladanyi ladanyi at us.ibm.com
Wed Aug 16 12:19:43 EDT 2006


Actually, I think it should be std::min and std::max there... min and max are
in the std namespace, I believe. I'm almost certain that gcc does not
compile the code just with min and max. One way to get around this is to use
CoinMin and CoinMax, which are defined in CoinHelperFunction.hpp. They are
inlined functions. Also, note that they should be used only with built-in
types, since they pass the arguments by value, not by reference (to make them
faster).

--Laci

On Wed, 16 Aug 2006, Yan Xu wrote:

> The change has been committed. Thanks,
> Yan
> 
> Matthew Galati wrote:
> 
> > Ok - I got ALPS example ABC working in MSVS7 too - with the following 
> > changes:
> >
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNode.cpp(1093) 
> > : error C2589: '(' : illegal token on right side of '::'
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNode.cpp(1093) 
> > : error C2059: syntax error : '::'
> > c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\examples\Abc\AbcTreeNode.cpp(1094) 
> > : error C2589: '(' : illegal token on right side of '::'
> >
> > magala at l11062 ~/COIN_NEW/Coin-Alps/Alps/examples/Abc
> > $ svn diff
> > Index: AbcTreeNode.cpp
> > ===================================================================
> > --- AbcTreeNode.cpp     (revision 301)
> > +++ AbcTreeNode.cpp     (working copy)
> > @@ -1090,8 +1090,8 @@
> >            pseudoC = model->getPseudoList()[object];
> >            upCost = pseudoC->upCost_ * (1.0 - fraction);
> >            downCost = pseudoC->downCost_ * fraction;
> > -           deg = 4.0 * std::min(upCost, downCost) +
> > -               1.0 * std::max(upCost, downCost);
> > +           deg = 4.0 * min(upCost, downCost) +
> > +               1.0 * max(upCost, downCost);
> >            if (deg > mostDeg) {
> >                mostDeg = deg;
> >                mostInd = object;
> >
> > And, I had to use the /GR option.
> >
> >
> >
> >> This works.... Thanks Andreas. The ALPs lib compiles in MSVS7 now. 
> >> I'll try ABC next.
> >>
> >> The only other change I had to make was:
> >>
> >> magala at l11062 ~/COIN_NEW/Coin-Alps/Alps
> >> $ svn diff
> >> Index: src/AlpsKnowledge.cpp
> >> ===================================================================
> >> --- src/AlpsKnowledge.cpp       (revision 301)
> >> +++ src/AlpsKnowledge.cpp       (working copy)
> >> @@ -26,7 +26,7 @@
> >> //############################################################################# 
> >>
> >>
> >> AlpsEncoded*
> >> -AlpsKnowledge::AlpsKnowledge::encode() const
> >> +AlpsKnowledge::encode() const
> >> {
> >>     AlpsEncoded* encoded =
> >>        new AlpsEncoded(const_cast<char*>(typeid(*this).name()));
> >>
> >>
> >>> Hi,
> >>>
> >>>> When I put ALPs source into project workspace I get:
> >>>>
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsConfig.h(38) 
> >>>> : fatal error C1083: Cannot open include file: 
> >>>> 'configall_system.h': No such file or directory
> >>>> AlpsSubTree.cpp
> >>>
> >>>
> >>>
> >>>
> >>> You need to include
> >>>
> >>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\BuildTools\headers
> >>>
> >>> into your include file directory search path if you use the 
> >>> developer studio.
> >>>
> >>> Andreas
> >>>
> >>>>
> >>>> among other errors like:
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.cpp(29) 
> >>>> : error C2039: '__ctor' : is not a member of 'AlpsKnowledge'
> >>>>       
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.h(48) 
> >>>> : see declaration of 'AlpsKnowledge'
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.cpp(30) 
> >>>> : error C2270: 'encode' : modifiers not allowed on nonmember functions
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.cpp(32) 
> >>>> : error C2673: 'encode' : global functions do not have 'this' pointers
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.cpp(32) 
> >>>> : error C2228: left of '.name' must have class/struct/union type
> >>>> c:\cygwin\home\magala\COIN_NEW\Coin-Alps\Alps\src\AlpsKnowledge.cpp(33) 
> >>>> : error C2673: 'encode' : global functions do not have 'this' pointers
> >>>>
> >> _______________________________________________
> >> Coin-discuss mailing list
> >> Coin-discuss at list.coin-or.org
> >> http://list.coin-or.org/mailman/listinfo/coin-discuss
> >
> >
> > _______________________________________________
> > Coin-discuss mailing list
> > Coin-discuss at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-discuss
> 
> 
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
> 




More information about the Coin-discuss mailing list