OK. After adding this code you suggest:

#ifdef PDF_HOST_WIN32
#   include <windows.h>
#endif

I get:

[...]
libtool: link: ranlib .libs/libgnupdf.a
libtool: link: rm -fr .libs/libgnupdf.lax
libtool: link: ( cd ".libs" && rm -f "libgnupdf.la" && ln -s "../
libgnupdf.la" "
libgnupdf.la" )
chmod +x ../src/extract-public-hdr
cat ./header-autogen > pdf.h
echo "#ifndef PDF_H" >> pdf.h
echo "#define PDF_H" >> pdf.h
echo "#ifdef __cplusplus" >> pdf.h
echo "extern \"C\" {" >> pdf.h
echo "#endif" >> pdf.h
cat pdf-global.h base/pdf-error.h base/pdf-types.h base/pdf-fp.h
base/pdf-alloc.
h base/pdf-list.h base/pdf-hash.h base/pdf-time.h base/pdf-text.h
base/pdf-fsys.
h base/pdf-stm-filter.h base/pdf-stm.h base/pdf-hash-helper.h
base/pdf-crypt.h b
ase/pdf-fp-func.h base/pdf-token.h base/pdf-token-reader.h |
../src/extract-publ
ic-hdr >> pdf.h
echo "#ifdef __cplusplus" >> pdf.h
echo "} // extern \"C\"" >> pdf.h
echo "#endif" >> pdf.h
echo "#endif /* !PDF_H */" >> pdf.h
echo "/* end of pdf.h */" >> pdf.h
make[2]: Leaving directory `/home/gnupdf/src'
make[1]: Leaving directory `/home/gnupdf/src'
Making all in utils
make[1]: Entering directory `/home/gnupdf/utils'
if gcc -DHAVE_CONFIG_H -I. -I. -I../src  -I../lib -I../src/ -I../src/base -I
../
src/object   -g -O2 -MT pdf-filter.o -MD -MP -MF ".deps/pdf-filter.Tpo" -c
-o pd
f-filter.o pdf-filter.c; \
        then mv -f ".deps/pdf-filter.Tpo" ".deps/pdf-filter.Po"; else rm -f
".de
ps/pdf-filter.Tpo"; exit 1; fi
In file included from pdf-filter.c:43:
../src/pdf.h:1012: error: syntax error before '*' token
make[1]: *** [pdf-filter.o] Error 1
make[1]: Leaving directory `/home/gnupdf/utils'
make: *** [all-recursive] Error 1

This happens compiling under windows as well as cross compiling.

Pablo.

On Wed, Oct 28, 2009 at 7:32 PM, <[email protected]> wrote:

>
> Hi Pablo.
>
>   And the piece of code from pdf-time.h:
>
>   #ifdef PDF_HOST_WIN32
>     /* Windows-specific function to set the time with a pdf_i64_t */
>     pdf_status_t
>     pdf_time_w32_set_from_filetime (pdf_time_t time_var,
>                                     const FILETIME *p_filetime);
>   #endif
>
>   This file is missing a windows include for the FILETIME type, if I
>   add the include inside this #ifdef, everything goes fine, but
>   placing it on the top with other includes (and under the same
>   preprocessor condition) messes up the autogenerated pdf.h that's
>   used later for compiling tortutils. I don't really know which is
>   the best place for this include, as the first fix seems untidy.
>
> The proper way to proceed in this case is to add a PUBLIC block at the
> beginning of the file with the inclusion of that header file, like in:
>
> #ifndef PDF_TIME_H
> #define PDF_TIME_H
>
> #include <stdio.h>
> #ifdef PDF_HOST_WIN32
> #   include <FILETYPE.h>
> #endif
>
> If that header file causes problem in tortutils when compiling for
> mingw32, can you send the output of the compiler?
>
> --
> Jose E. Marchesi  <[email protected]>
>                  http://www.jemarch.net
> GNU Project       http://www.gnu.org
>

Reply via email to