[Scip] Some methods in scip.h usable with OPT=dbg don't compile without

michael.winkler@zib.de michael.winkler at zib.de
Thu Jul 1 14:55:47 MEST 2010


Hi,

thank you for your problem submission. It's really not correct in scip.h
but the proper fix instead of including misc.h in your presolver
would/will be that you extend the inlcusions in NDEBUG mode in scip.h such
that it looks like the following around line 101:

#ifdef NDEBUG
#include "scip/struct_scip.h"
#include "scip/set.h"
#include "scip/tree.h"
#include "scip/misc.h"
#endif

Best, Michael


> Hi all,
>
> when compiling my project with
>
> make ZIMPL=false LPS=cpx OPT=dbg
>
> everything works as expected. However, compiling with
>
> make ZIMPL=false LPS=cpx
>
> does not work. The following errors appear:
> src/presol_arrowheur.cpp: In function ‘SCIP_RETCODE
> buildGraphStructure(SCIP*, SCIP_PRESOLDATA*)’:
> src/presol_arrowheur.cpp:204: error: ‘SCIPptrarrayExtend’ was not
> declared in this scope
> src/presol_arrowheur.cpp:205: error: ‘SCIPintarrayExtend’ was not
> declared in this scope
> src/presol_arrowheur.cpp:210: error: ‘SCIPintarrayCreate’ was not
> declared in this scope
> src/presol_arrowheur.cpp:244: error: ‘SCIPintarraySetVal’ was not
> declared in this scope
> src/presol_arrowheur.cpp:246: error: ‘SCIPintarraySetVal’ was not
> declared in this scope
> src/presol_arrowheur.cpp:252: error: ‘SCIPptrarraySetVal’ was not
> declared in this scope
> src/presol_arrowheur.cpp:317: error: ‘SCIPintarrayGetVal’ was not
> declared in this scope
> (shortened, but only the same information in diffent methods)
>
> I do not use these functions directly but rather SCIPsetIntarrayVal and
> so on defined in scip.h.
>
> Having a quick look at scip.h shows that without -DNDEBUG, the methods
> for dynamic arrays are defined as extern, with NDEBUG as defines to
> methods in misc.h which I haven't included as it is labeled internal
> miscellaneous methods. It doesn't sound right to include that file. In
> any case, as it is right now, I can not use these methods in non-debug
> mode with just including scip.h.
>
> Is this known, am I supposed to include misc.h as well (well in fact why
> should I, the method is defined in scip.h!) or is there something I have
> missed?
>
> I'm currently using scip 1.2.0.8.
>
> Regards and thanks in advance,
> Martin
>
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>



More information about the Scip mailing list