Почему компиляция zlib с компиляторами MSV C работает нормально и все же выдает синтаксическую ошибку с Cygwin? - PullRequest
1 голос
/ 14 марта 2020

Я пытаюсь скомпилировать 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.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/zlib.dir/rule] Error 2
make: *** [Makefile:188: zlib] Error 2

Обратите внимание, библиотека компилируется с использованием компиляторов Visual Studio и stati c версия библиотеки также прекрасно компилируется с 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

У кого-нибудь есть предложения по компиляции этой библиотеки?

...