Windows 将ZZipLib与SDL一起使用?(编制SDL_rwops_zzip.c)
这个问题有点具体,但我想将ZZipLib与SDL结合使用。()ZZipLib附带了一个名为SDL_rwops_zzip.c的文件,该文件专门用于方便插入SDL的文件调用。事实上,我在Mac电脑上做到了这一点 问题出在Windows上,它无法编译。该代码来自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
#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