[Insight-users] Problem with Iterator debugging
Daanen Vincent
daanen at koelis.com
Tue Oct 6 10:10:45 EDT 2009
Hi Luis,
> -----Message d'origine-----
> De : Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Envoyé : mardi 6 octobre 2009 15:31
> À : Daanen Vincent
> Cc : insight-users at itk.org
> Objet : Re: [Insight-users] Problem with Iterator debugging
>
> Hi Vince,
>
> This is interesting.
>
> The code in the file:
>
> Program Files (x86)/Microsoft Visual Studio 8/vc/include/deque
>
> where you are getting this compilation error is:
>
> 88 reference operator*() const
> 89 { // return designated object
> 90 size_type _Block = _Myoff / _DEQUESIZ;
> 91 size_type _Off = _Myoff & (_DEQUESIZ - 1); //
> assume power of 2
> 92 if (this->_Mycont == 0
> 93 || _Myoff < ((_Mydeque *)this->_Mycont)->_Myoff
> 94 || ((_Mydeque *)this->_Mycont)->_Myoff
> 95 + ((_Mydeque *)this->_Mycont)->_Mysize <= _Myoff)
> 96 {
>
>
> As you pointed out, this is in the block of code guarded
> by the #define
>
> 66 #if _HAS_ITERATOR_DEBUGGING
>
> The declaration of Myoff is altered from public: to protected:
> in lines
>
> 301
> 302 #else /* _HAS_ITERATOR_DEBUGGING */
> 303 protected:
> 304 const _Mydeque *_Mycont; // pointer to deque
> 305 #endif /* _HAS_ITERATOR_DEBUGGING */
> 306
> 307 size_type _Myoff; // offset of element in deque
> 308 };
>
>
> It would seems that the code is attempting to combine code
> that is compiled with the flag _HAS_ITERATOR_DEBUGGING
> ON, with other code that has this flag off.
Yes, that's also my conclusion .. And I can not find any clue to understand
why
> ITK does not define this variable, nor the _SECURE_SC.
>
> Tell us more about the rest of the code that you are combining...
>
The rest of the code is internal librairies (our own technical cores) but we
can not easily recompile them due to our quality insurance process
> In particular:
> Are you using CMake for configuring this project ?
No, we are using Visual Studio 2005 and we are adding directly in the
projects hold by VS2005.
>
> Are you by any change combining libraries build for Release
> with libraries build for Debug ?
No .. I've already checked that yesterday because I had other problem to
integrate Itk .. I finally succeed be recompiling and changing some compiler
options ..
>
>
> Please let us know,
>
>
> Thanks
>
>
> Luis
>
>
> ---------------
>
> BTW:
> It quite interesting how shy Microsoft if to point out their internal
> use of Open Source software. The file "deque" has its copyright
> notice conveniently moved to the last lines of the file:
>
>
> 1367 /*
> 1368 * Copyright (c) 1992-2005 by P.J. Plauger. ALL RIGHTS RESERVED.
> 1369 * Consult your license regarding permissions and restrictions.
> 1370 */
> 1371
> 1372 /*
> 1373 * This file is derived from software bearing the following
> 1374 * restrictions:
> 1375 *
> 1376 * Copyright (c) 1994
> 1377 * Hewlett-Packard Company
> 1378 *
> 1379 * Permission to use, copy, modify, distribute and sell this
> 1380 * software and its documentation for any purpose is hereby
> 1381 * granted without fee, provided that the above copyright notice
> 1382 * appear in all copies and that both that copyright notice and
> 1383 * this permission notice appear in supporting documentation.
> 1384 * Hewlett-Packard Company makes no representations about the
> 1385 * suitability of this software for any purpose. It is provided
> 1386 * "as is" without express or implied warranty.
> 1387 V4.05:0009 */
>
>
>
>
>
> --------------------------------------------------
> On Tue, Oct 6, 2009 at 8:45 AM, Daanen Vincent
> <daanen at koelis.com> wrote:
> > Hi,
> >
> > I compiled Itk (v3.16) with default option in debug mode.
> > When I try to use it in a "big" project, I the following error:
> >
> > "c:\program files\microsoft visual studio
> 8\vc\include\deque(94) : error
> > C2248: 'std::deque<_Ty>::_Myoff'ÿ: impossible to access to
> protected membre
> > declared in class 'std::deque<_Ty>'." in source file which
> does ot included
> > itk headers ...
> >
> > I turn off Iterator debugging (/D _HAS_ITERATOR_DEBUGGING=0 /D
> > _SECURE_SCL=0) and it compiles but crashes at the very
> beginnig of the
> > sotware when using another 3rd party library.
> >
> > I can't figure out why I got the compilation error only
> when including ITK
> > (if I remove its usage with #ifdef/#endif) the compilation
> is ok and I got
> > no crash when running the software.
> >
> > For the moment, the solution is to compile with #define
> __USE_ITK__ 0 in
> > the source file where itk is used, and then set define
> __USE_ITK__ 1 and
> > recompile only this file .... But I think this will not
> work for a long time
> > and I would prefer to really fix this problem instead of
> using such a
> > solution.
> >
> > Soi should I recompile itk with _HAS_ITERATOR_DEBUGGING=0 &
> _SECURE_SCL=0 ?
> > If yes, could someone tell me what I should change and where..
> >
> > Thanks
> >
> > Vince
> >
> >
> >
> > --------------------------------------------
> > Vincent Daanen, PhD
> > D&D Manager
> >
> > --------------------------------------------
> > KOELIS
> > 5, avenue du Grand Sablon 38700 La Tronche
> > www.koelis.com - daanen at koelis.com
> > Tel .+33(0) 476637588 Fax .+33(0) 476637592
> > --------------------------------------------
> >
> > CONFIDENTIALITY This e-mail and any attachments are
> confidential and may
> > also be privileged. If you are not the named recipient,
> please notify the
> > sender immediately and do not disclose the contents to
> another person, use
> > it for any purpose, or store or copy the information in any medium.
> >
> > "Les problèmes ne peuvent être résolus par ceux dont
> l'horizon se limite aux
> > réalités quotidiennes, mais par ceux qui rêvent de choses
> qui n'ont jamais
> > existé et qui se disent : Pourquoi Pas ?" (J-F Kennedy, 1963).
> >
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >
More information about the Insight-users
mailing list