Boost logo

Boost :

From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2002-09-24 13:30:16


Let's start with I'm a more than a little miffed at what I've found. At
whom my miffedness should be directed is unclear.

It _appears_ that the problem happens because in my installation of python,
the file:

C:\Python22\include\Python.h

contains the line:

#include "codecs.h"

Now, it searching around my disk for files called codecs.h, I find:

C:\Python22\include\codecs.h
-and-
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\Codecs.h

now and old *nix programmer would say "so what"? the files mentioned are
codecs.h and Codecs.h see the difference in spelling? Alas, not all
filesystems treat them as different.

What is _worse_, FAR WORSE in my opinion, is that the copy we want to have
included is actually IN the directory with the file which has the #include
"codecs.h". I know, I know, there are systems out there withOUT
directories as such, but how is a compiler to know which file to "#include"?

it is _absolutely_ clear that what the authors of the Python system
intended is NOT happening in this case (not what I expect either). Since
I installed the PlaformSDK before I ever thought of using Python, it's not
surprising that its include directory is searched _before_ Python's, which
I added when I installed Python.

So, what's the deal here? Moving the Python22\include directory before
that of the PlatformSDK appears to solve THIS problem, but what of the more
general problem? What if Microsoft writes a new .h file in the PlatformSDK
which needs THAT copy of Codecs.h? (non currently exists).

More to the point. Is there any syntax which says to include a file FROM
THE CURRENT DIRECTORY (I know, I know...some systems don't even HAVE
directories..... to borrow a phrase "frankly, my dear, I don't give a
damn"). If NOT, how then do we write systems in which we need to include
other files which are part of our system?

Maybe this is just a bug in VC.NET? (I can't test the 7.1 version, I don't
have it). Or (given all I read in this forum about "" vs <> on includes)
is this a hole in the standard big enough to fly a C5A through?

So, where do I file the "bug report"? Make NO mistake, this is a BUG!

BTW, in my opinion, any solution that decrees that something OTHER
than #include "somefile" is necessary to ensure that somefile will be
retrieved from the current (location of the file with the #include in
it) directory/region/dataset/whatever is unacceptable.
Victor A. Wagner Jr. http://rudbek.com
PGP RSA fingerprint = 4D20 EBF6 0101 B069 3817 8DBF C846 E47A
PGP D-H fingerprint = 98BC 65E3 1A19 43EC 3908 65B9 F755 E6F4 63BB 9D93
The five most dangerous words in the English language:
               "There oughta be a law"


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk