C++ 为什么用MSVC编译器编译zlib可以很好地工作,但却在Cygwin中出现语法错误?
我正在尝试在cygwin上编译,但出现以下错误:C++ 为什么用MSVC编译器编译zlib可以很好地工作,但却在Cygwin中出现语法错误?,c++,cmake,zlib,C++,Cmake,Zlib,我正在尝试在cygwin上编译,但出现以下错误: /usr/bin/windres: /cygdrive/d/zlib-1.2.11/win32/zlib1.rc:7: syntax error make[3]: *** [CMakeFiles/zlib.dir/build.make:258: CMakeFiles/zlib.dir/win32/zlib1.obj] Error 1 make[2]: *** [CMakeFiles/Makefile2:109: CMakeFiles/zlib.d
/usr/bin/windres: /cygdrive/d/zlib-1.2.11/win32/zlib1.rc:7: syntax error
make[3]: *** [CMakeFiles/zlib.dir/build.make:258: CMakeFiles/zlib.dir/win32/zlib1.obj] Error 1
make[2]: *** [CMakeFiles/Makefile2:109: CMakeFiles/zlib.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/zlib.dir/rule] Error 2
make: *** [Makefile:188: zlib] Error 2
请注意,该库使用visual studio编译器进行编译,而库的静态版本也可以使用cygwin进行编译。查看语法错误,我们有一个宏:
#ifdef GCC_WINDRES
VS_VERSION_INFO VERSIONINFO
#else
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE <----this line causes the syntax error
#endif
FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS 1
#else
FILEFLAGS 0
#endif
#ifdef GCC_WINDRES
VS_版本信息版本信息
#否则
VS_VERSION_INFO VERSION可移动不纯负荷可丢弃尝试tom移除可移动不纯负荷可丢弃
尝试tom移除可移动不纯负荷可丢弃