VS 2015 Update 1。
预构建的zlib被提取到project / zlib中。 find_package通过提供适当的变量找到它。
它将dir添加为cl调用中的include:
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
等等。
看不出有什么问题。 zlib.h
C:\project\zlib\include
答案 0 :(得分:2)
我无法相信原因是多么愚蠢。问题是,在CI zlib内容被提取到一个额外的zlib文件夹(因此它是zlib / zlib),因为存档已经包含zlib文件夹。