无法通过 cmake 在 windows 上编译 libpng 1.6:无法打开包含文件:'zlib.h':没有这样的文件或目录

Can't compile libpng 1.6 on windows via cmake: Cannot open include file: 'zlib.h': No such file or directory

VS 2015 更新 1。 预构建的 zlib 被提取到 project/zlib。 find_package 发现提供了适当的变量就可以了。 它将目录添加为包含在 cl 调用中: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /IC:\project\zlib\include /IC:\project\libpng /nologo /W3 /WX- /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"png16_static.dir\Release\" /Fd"png16_static.dir\Release\png16_static.pdb" /Gd /TC /errorReport:queue C:\project\libpng\png.c C:\project\libpng\pngerror.c C:\project\libpng\pngget.c C:\project\libpng\pngmem.c C:\project\libpng\pngpread.c C:\project\libpng\pngread.c C:\project\libpng\pngrio.c C:\project\libpng\pngrtran.c C:\project\libpng\pngrutil.c C:\project\libpng\pngset.c C:\project\libpng\pngtrans.c C:\project\libpng\pngwio.c C:\project\libpng\pngwrite.c C:\project\libpng\pngwtran.c C:\project\libpng\pngwutil.c

但在编译过程中失败:

c:\project\libpng\pngstruct.h(30): fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory 等等

看不出哪里出了问题。 C:\project\zlib\include

里面肯定有zlib.h

我不敢相信这个理由是多么愚蠢。问题是在 CI zlib 内容被提取到一个额外的 zlib 文件夹中(所以它是 zlib/zlib),因为存档已经包含 zlib 文件夹。