我正在尝试在VxWorks 6.8上使用gzip压缩功能。
VxWorks开发指南帮助说,
您可以单独将gzip压缩功能添加到系统中 通过将zlib库文件添加到您的Wind River Web Server 项目。为此,请添加文件 installDir / components / webcli-4.x / target / src / wrn / wm / common / zlib给你的 项目。然后在构建时使用-DWITH_ZLIB编译器标志 系统
我尝试了但是出现了构建错误
../zlib/zlib_adler32.cpp:21: error: 'z_uLong zlib_z_adler32' redeclared as different kind of symbol
../zlib/zlib.h:822: error: previous declaration of 'z_uLong zlib_z_adler32(z_uLong, const z_Bytef*, z_uInt)'
../zlib/zlib_adler32.cpp:25: error: expected unqualified-id before '{' token
C:\WindRiver\utilities-1.0\x86-win32\bin\make.exe: *** [.../zlib/zlib_adler32.o] Error 1
注意:文件扩展名为.c,将其更改为.cpp并使用C ++编译器。函数使用extern“C”声明
该函数的声明可以是checked here
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
有任何线索吗?
答案 0 :(得分:0)
问题在于GNU C ++不支持C旧样式定义
uLong ZEXPORT adler32(adler,buf,len) 你是阿德勒 const Bytef * buf; 你不看 {...}
已更正 uLong ZEXPORT adler32(uLong adler,const Bytef * buf,uInt len){...}
解决了我的问题。