Hi Ian,

I apologize for my anger; I did get a bit frustrated. Thank you for calling me out on it.

Please note that the front page does indeed define the "core" libraries. To quote:

The core libraries in VXL are:
I think it would be very useful for newbies like me if your (very clear) explanation about the dependency of the core libraries on imaging libraries was added to the VXL documentation, preferably on the front page.This may help prevent future confusion, and unnecessary posts to vxl-users.

Also, I should note that the strange issue I noted with CMake only occurred with VXL version 1.14, not the trunk. And the modification (hack) that I'd suggested to vcl/vcl_cstdio.h has indeed been implemented in the trunk. What remains are the numerous warnings, which you correctly point out can be turned off, if desired.

Thank you for your help and advice! And thank you for a great library.

On Tue, Dec 7, 2010 at 4:49 AM, Ian Scott <scottim@imorphics.com> wrote:
On 06/12/2010 22:01, Michael Repucci wrote:
Problem solved. For others who, like me, might come across this issue,
here's the problem.

The main page for the VXL project (http://vxl.sourceforge.net/) states:
"Each core library is lightweight, and can be used without reference to
the other core libraries. Similarly, the non-core libraries don't depend
on more than absolutely necessary, so you can compile and link just the
libraries you really need."

In short, I found that this is not true, at least for my build system
(Visual Studio 2010).

Actually it is true, but we don't define "core" libraries on the front page. The core level-1 libraries vnl, vsl, vbl, vul, and vil do not have any cross dependencies. They do all depend on vcl (the only level-0 library), since vcl is a just thin compatibility layer around the C++ standard library. The vil library also depends on several external (third-party) imaging libraries, since it would be perverse to provide an imaging library without the ability to load and save images, and it would be expensive, difficult, and error-prone to write and maintain our own png loader, etc. It is relatively easy to remove the dependencies by remove the various loaders.

The dependency in vul is to a system library for network support.