You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vcpkg构建C++ GIS应用时缺失GDAL头文件cpl_zlib_header.h

解决vcpkg安装GDAL 3.6.3后缺失cpl_zlib_header.h的问题

这个问题本质是vcpkg的GDAL port构建脚本没有将cpl_zlib_header.h纳入安装清单,导致它未被复制到vcpkg\installed\x64-windows\include目录。可以按以下方式处理:

临时应急修复

直接手动复制文件快速解决编译问题:

  • 找到vcpkg下载的GDAL源码解压路径(通常在vcpkg\buildtrees\gdal\src\<版本号>-<哈希值>\include目录下)
  • 把cpl_zlib_header.h复制到vcpkg\installed\x64-windows\include
    注意:这种方法只是临时救急,下次重装或更新GDAL时会失效。

永久修复(修改vcpkg的GDAL构建配置)

编辑vcpkg的GDAL port脚本,让它自动安装这个头文件:

  1. 打开vcpkg\ports\gdal\portfile.cmake
  2. 找到安装头文件的代码块,通常是类似file(INSTALL ... DESTINATION ${CURRENT_PACKAGES_DIR}/include)或者install(FILES ...)的语句
  3. 将cpl_zlib_header.h添加到需要安装的头文件列表中
  4. 重新运行构建命令:vcpkg install gdal:x64-windows --recurse
    这会让vcpkg重新编译GDAL,并将这个头文件正确安装到include目录。

额外检查

如果你的代码是直接包含cpl_zlib_header.h的,建议改成包含GDAL的公共头文件(比如gdal.h)。因为cpl_zlib_header.h属于GDAL内部头文件,正常情况下应该通过公共头文件间接引入,直接引用可能会因为GDAL版本变更出现兼容性问题。

内容的提问来源于stack exchange,提问作者voronoidea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 14:27:43