Hello Alan,
I understood that. It appeared certain of your needed functions were not
defined at all. My guess is a conditional compile is skipping them.
The reason I was so skeptical about -DNDEBUG being the problem was
that I never used that symbol for any conditional compilation (and I
mean never - I've seen it used but I prefer to define my own symbols
so I know what's going on at all times).
The thing is, removing that symbol (removing -DNDEBUG) made things
compile. And that's not just on Linux where I was trying out CMake,
but on Windows too, using CMake to generate Visual Studio 2005 project
files. So I investigated the particular methods that were not being
found on link, and I noticed that they were defined as inline in the
.cpp file, but not declared inline in the header file.
Now, again, that seems to work fine in all cases except when NDEBUG is
defined. I even went back to my old project files and makefiles, added
-DNDEBUG (on Linux) or /D NDEBUG (on Windows) and the same linker
errors were generated.
I don't know enough about the intricacies of C++ to know why having a
method defined as inline but not declared as inline would be a problem
only triggered by defining NDEBUG, but that isn't too important. At
least now it's fixed.
Thanks for helping me persist in the NDEBUG direction, Alan.
J-S
--
______________________________________________________
Jean-Sebastien Guay [EMAIL PROTECTED]
http://whitestar02.webhop.org/
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake