Re: [eigen] Function 'assert' unknown

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


OK thanks that's what I wanted to see (actually you had pasted the relevant 
bit in your first e-mail).

The compiler complains that "assert" is not defined. It is the job of 
#include<cassert> to define it.

Putting together what you said so far, we can conclude that your <cassert> 
file fails to define 'assert' in debug mode, but does define it in 'release' 
mode (when it should be defined to empty value).

Can you look at your <cassert> file ? It should be in your compiler's standard 
c++ includes directory. First of all, was that file damaged? Then try to 
understand why it fails to define 'assert' in debug mode. Notice that debug 
mode is when the NDEBUG symbol is _not_ defined.

Cheers,
Benoit

On Monday 22 September 2008 22:56:32 Matthias Pospiech wrote:
> Benoît Jacob schrieb:
> > It would be more enlightening to see the compiler errors output by
> > MSVC...
>
> This is the output. If you mean something different please tell me how
> to obtain it.
>
> 1>------ Erstellen gestartet: Projekt: LaserDesign, Konfiguration: Debug
> Win32 ------
> 1>Kompilieren...
> 1>MdiChild.cpp
> 1>main.cpp
> 1>Mainwindow.cpp
> 1>GaussianBeam.cpp
> 1>laser.cpp
> 1>DialogGaussianBeam.cpp
> 1>ABCD.cpp
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(47)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(48)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(49)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(50)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(51)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>moc_ABCD.cpp
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(47)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(48)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(49)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(50)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>m:\iqo\daten\dev\svn\abcd\laserdesignstudio\laserdesign\include\eigen\eig
>en\src/Core/MathFunctions.h(51)
>
> : error C3861: "assert": Bezeichner wurde nicht gefunden.
>
> 1>moc_DialogGaussianBeam.cpp
> 1>moc_GaussianBeam.cpp
> 1>moc_laser.cpp
> 1>moc_Mainwindow.cpp
> 1>moc_MdiChild.cpp
> 1>Code wird generiert...
> 1>Das Buildprotokoll wurde unter
> "file://M:\IQO\Daten\Dev\SVN\abcd\LaserDesignStudio\LaserDesign\Build\Laser
>Design\Debug\BuildLog.htm" gespeichert.
> 1>LaserDesign - 10 Fehler, 0 Warnung(en)
>
> > Since it works in release mode, we already know that <cassert> exists.
> >
> > One quick idea: could it be a linker error where it complains that it
> > can't resolve the reference to the helper function printing the assert
> > message...
>
> As far as is see from the above message I think not.
>
> Matthias





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/