On 2001.07.01 12:26 Manuel McLure wrote:
> I found the following issue when trying to compile CVS avi-xmms with CVS
> avifile. In avifile's default.h the following construct is found:
> 
> #ifdef HAVE_STDINT_H
> #include <stdint.h>     // for int64_t (on linux)
> #else
> #ifdef  HAVE_SYS_TYPES_H
> #include <sys/types.h>  // for int64_t (on xBSD/solaris)
> #endif
> #endif
[SNIP]

With Mathew Kanner's help I have determined that in this specific case, we
can simply use

#include <inttypes.h>

and this will work for Linux, Solaris and xBSD. I don't know whether this
will work for Win32 - anyone want to test this?

In further researching this I found that we are also doing a

#include <config.h>

in default.h. If the config.h that we are including is the one from
avifile, then the problem above would not happen. However the syntax we use
does not specify what config.h to use, so we may be picking up the
third-party's config.h instead of the avifile one. We could use

#include <avifile/config.h>

instead to make sure we are including the right one (and maybe even change
all #includes that correspond to avifile headers to use this syntax thus
avoiding namespace pollution). This will work for third-party software,
however it won't work for building avifile unless we make some changes to
the avifile build process (create an include/avifile directory and copy any
.h files into it before building).

-- 
Manuel A. McLure KE6TAW | ...for in Ulthar, according to an ancient
<[EMAIL PROTECTED]>     | and significant law, no man may kill a cat.
<http://www.mclure.org> |             -- H.P. Lovecraft

_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to