[gdal-dev] gdal.h: No such file or directory
Peter J Halls
P.Halls at york.ac.uk
Wed Oct 14 02:22:02 EDT 2009
Mateusz,
the extract from the standard does not say there is no difference: it says
that this is implementation dependent - that implementors are free to
differentiate if they wish and, indeed, that the #include " " form is
optional. I do not use bloodshed nor msvc so would not pretend to represent
these, however many Unix implementations certainly differentiate as I described.
Such differentiation is clearly within the standard as this is 'implementation
dependent'.
Sadly, the upshot of all this is that there is no hard and fast rule. If
one form does not work, try the other or (better) look it up in the compiler
manual (assuming there is such a thing).
It is also worth remembering that there may be an equivalent of the UNIX
INCLUDE_PATH environment variable which may modify the built in behaviour and,
equally, as this is an implementation dependent thing, there may not.
Best wishes,
Peter
Mateusz Loskot wrote:
> Peter J Halls wrote:
>> Should it not be #include "gdal.h"? The <> construct is used for
>> system includes, whereas gdal.h counts as a user include, to be found
>> in the include path. But I admit my c to be a little rusty ...
>> Peter
>
> Actually, there is no difference. For reference in case of doubt
> with the bloodshed dev-c++, here is what ISO C++ says in 16.2
>
>
> 1 A #include directive shall identify a header or source file that can
> be processed by the implementation.
>
> 2 A preprocessing directive of the form
>
> # include <h-char-sequence> new-line
>
> searches a sequence of implementation-defined places for a header
> identified uniquely by the specified sequence between the < and >
> delimiters, and causes the replacement of that directive by the entire
> contents of the header. How the places are specified or the header
> identified is implementation-defined.
>
> 3 A preprocessing directive of the form
>
> # include "q-char-sequence" new-line
>
> causes the replacement of that directive by the entire contents of the
> source file identified by the specified sequence between the "
> delimiters. The named source file is searched for in an
> implementation-defined manner. If this search is not supported, or if
> the search fails, the directive is reprocessed as if it read
>
> # include <h-char-sequence> new-line
>
> with the identical contained sequence (including > characters, if any)
> from the original directive.
>
> Best regards,
--
--------------------------------------------------------------------------------
Peter J Halls, GIS Advisor, University of York
Telephone: 01904 433806 Fax: 01904 433740
Snail mail: Computing Service, University of York, Heslington, York YO10 5DD
This message has the status of a private and personal communication
--------------------------------------------------------------------------------
More information about the gdal-dev
mailing list