[Coin-discuss] windows - Visual Studio 6.0
Matthew Galati
magala at wnt.sas.com
Sun May 9 14:57:02 EDT 2004
Hi Folks,
I am building COIN in M$ Windoze using Visual Studio 6.0 - for someone
else ;)
Found the following compiler errors (these are all easily fixable) in CLP:
c:\cygwin\home\mgalati\math\coin\clp\clpdynamicmatrix.cpp(1816) : error
C2374: 'j' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clpdynamicmatrix.cpp(1790)
: see declaration of 'j'
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(488) :
error C2374: 'j' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(463) : see
declaration of 'j'
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(1411) :
error C2374: 'iColumn' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(1027) : see
declaration of 'iColumn'
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(1737) :
error C2374: 'iSet' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clpgubdynamicmatrix.cpp(1706) : see
declaration of 'iSet'
c:\cygwin\home\mgalati\math\coin\clp\clpgubmatrix.cpp(3610) : error
C2374: 'iSet' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clpgubmatrix.cpp(3599) :
see declaration of 'iSet'
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(704) :
error C2360: initialization of 'iColumn' is skipped by 'case' label
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(623) :
see declaration of 'iColumn'
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(706) :
error C2374: 'iColumn' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(623) :
see declaration of 'iColumn'
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(789) :
error C2360: initialization of 'iColumn' is skipped by 'case' label
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(706) :
see declaration of 'iColumn'
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(789) :
error C2360: initialization of 'iColumn' is skipped by 'case' label
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(623) :
see declaration of 'iColumn'
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(791) :
error C2374: 'iColumn' : redefinition; multiple initialization
c:\cygwin\home\mgalati\math\coin\clp\clppredictorcorrector.cpp(623) :
see declaration of 'iColumn'
Also, in CGL:
c:\cygwin\home\mgalati\math\coin\cgl\cglclique.cpp(154) : error C2589:
'(' : illegal token on right side of '::'
c:\cygwin\home\mgalati\math\coin\cgl\cglclique.cpp(154) : error C2059:
syntax error : '::'
These are related to the use of std::max in VS6.0, which conflicts with
windows max. I think if you change all the std::max to max and
#include<algorithm>, using namespace std at the top, this should be
portable.
Did I miss an announcement that CglClique had been added?
Also, at runtime, I crashed in CLP with the following stack:
KERNEL32! 7c57e592()
ROOT! _CxxThrowException at 8 + 57 bytes
ROOT! __RTDynamicCast + 383 bytes
ClpPackedMatrix::scale(ClpSimplex * 0x0012fad4) line 1255 + 23 bytes
ClpSimplex::createRim(int 31, unsigned char 1) line 2280 + 23 bytes
ClpSimplex::startup(int 0) line 5020 + 12 bytes
ClpSimplexDual::dual(int 0, int 0) line 220 + 10 bytes
ClpSimplex::dual(int 0) line 3359 + 14 bytes
OsiClpSolverInterface::initialSolve() line 193
main(int 2, char * * 0x002f1040) line 116 + 18 bytes
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 7c581af6()
By adding NO_RTTI to the preprocessor defines and rebuilding CLP, it
seems to run fine.
Matt
--
Matthew Galati -- Optimization Developer
SAS Institute -- Analytical Solutions / Operations R & D
Office R4112 O: 919-531-0332 F: 919-677-4444
URL: http://sagan.ie.lehigh.edu/mgalati/
More information about the Coin-discuss
mailing list