[PATCH 1/2] Fix compilation with older libzip

Dirk Hohndel dirk at hohndel.org
Thu Dec 5 20:08:20 UTC 2013


On Thu, 2013-12-05 at 19:10 -0800, Dirk Hohndel wrote:
> Close but no cigar:
> 
> 
> Close but no cigar:
> 
> compiling qt-ui/subsurfacewebservices.cpp
> qt-ui/subsurfacewebservices.cpp: In member function 'void DivelogsDeWebServices::downloadFinished()':
> qt-ui/subsurfacewebservices.cpp:630:46: error: call of overloaded 'zip_get_num_entries(zip*&, int)' is ambiguous
>   quint64 entries = zip_get_num_entries(zip, 0);
>                                               ^
> qt-ui/subsurfacewebservices.cpp:630:46: note: candidates are:
> In file included from qt-ui/subsurfacewebservices.cpp:6:0:
> /usr/i686-w64-mingw32/sys-root/mingw/include/zip.h:267:24: note: zip_int64_t zip_get_num_entries(zip*, zip_flags_t)
>  ZIP_EXTERN zip_int64_t zip_get_num_entries(struct zip *, zip_flags_t);
>                         ^
> qt-ui/subsurfacewebservices.cpp:31:12: note: int zip_get_num_entries(zip*, qint64)
>  static int zip_get_num_entries(struct zip *z, qint64)
> 
> (cross compiling for Windows under Fedora 19)
> 
> This seems to work:
> 
> -       quint64 entries = zip_get_num_entries(zip, 0);
> +       quint64 entries = zip_get_num_entries(zip, (zip_flags_t)0);

Nope. that doesn't work on 64bit Linux.

Basically we have platforms where the real type in zip.h is 32bit and
others where it is 64bit. So I think we can't use the trick that you
propose.

I'll revert that patch of yours, sorry.

/D



More information about the subsurface mailing list