Windows 将ZZipLib与SDL一起使用?(编制SDL_rwops_zzip.c)

Windows 将ZZipLib与SDL一起使用?(编制SDL_rwops_zzip.c),windows,visual-studio-2010,sdl,Windows,Visual Studio 2010,Sdl,这个问题有点具体,但我想将ZZipLib与SDL结合使用。()ZZipLib附带了一个名为SDL_rwops_zzip.c的文件,该文件专门用于方便插入SDL的文件调用。事实上,我在Mac电脑上做到了这一点 问题出在Windows上,它无法编译。该代码来自SDL_rwops_zzip.c: #define SDL_RWOPS_ZZIP_DATA(_context) \ ((_context)->hidden.unknown.data1) #define SDL_RWOPS

这个问题有点具体,但我想将ZZipLib与SDL结合使用。()ZZipLib附带了一个名为SDL_rwops_zzip.c的文件,该文件专门用于方便插入SDL的文件调用。事实上,我在Mac电脑上做到了这一点

问题出在Windows上,它无法编译。该代码来自SDL_rwops_zzip.c:

#define SDL_RWOPS_ZZIP_DATA(_context) \
         ((_context)->hidden.unknown.data1)
#define SDL_RWOPS_ZZIP_FILE(_context)  (ZZIP_FILE*) \
         ((_context)->hidden.unknown.data1)

static int _zzip_seek(SDL_RWops *context, int offset, int whence) // line 30
{
    return zzip_seek(SDL_RWOPS_ZZIP_FILE(context), offset, whence);
}
我得到的错误是:

SDL_rwops_zzip.c(31):警告C4028:形式参数1与声明不同 SDL_rwops_zzip.c(31):警告C4028:形式参数3与声明不同 SDL_rwops_zzip.c(31):警告C4029:声明的形式参数列表与定义不同 SDL_rwops_zzip.c(31):错误C2491:“_read”:不允许定义dllimport函数

此堆栈溢出帖子提供了有关该错误的一些信息:


但我真的不明白在这种特殊情况下如何解决此错误。

我通过使用从头开始构建的Visual Studio 10项目(升级的Visual Studio 7项目没有生成可用的库或.dll)重新编译zziplib,然后在conf.h中注释掉这些行,从而解决了此问题:

# if !__STDC__
#  ifndef _zzip_lseek
#  define _zzip_lseek _lseek
#  endif
#  ifndef _zzip_read
#  define _zzip_read _read
#  endif
#  ifndef _zzip_write
#  define _zzip_write _write
#  endif
#      if 0
#  ifndef _zzip_stat
#  define _zzip_stat _stat
#  endif
#      endif
# endif // !__STDC__
#endif
这是:

#  ifndef _zzip_lseek
#  define _zzip_lseek lseek
#  endif

#  ifndef _zzip_read
#  define _zzip_read  read
#  endif

#  ifndef _zzip_write
#  define _zzip_write  write
#  endif