c++ - 为什么使用 MSVC 编译器编译 zlib 可以正常工作,但使用 Cygwin 时会出现语法错误?
问题描述
我正在尝试在 cygwin 上编译zlib,但出现以下错误:
/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
有人对编译这个库有什么建议吗?
解决方案
推荐阅读
- javascript - 如何在制表器中创建/设置动态标题
- powerbi - 如何通过表格中的选择过滤饼图
- wso2 - 如果我尝试在分布式环境中的发布者中更改 wso2 api 管理器,它不会很快得到反映!对此有什么建议吗?
- shell - 每当在由各种微服务组成的单一存储库中进行更改时,通过触发 Jenkins 管道来部署微服务
- wordpress - Wordpress:分配了一个难以理解的“值”
- javascript - Greasemonkey 脚本超时选项
- django - Django 管理模型描述列表
- c - 为什么我的程序在运行 mandelbrot brainf*** 程序时总是卡住?
- paraview - 无法使用 pvpython 渲染某些东西(paraview)
- javascript - 从字符串中删除空格并比较选项值以隐藏/显示 DIV