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

GDAL 3.7.0 CMake构建问题:满足PROJ版本要求却缺失PROJ_LIBRARY

解决VS2019环境下CMake构建GDAL 3.7.0时PROJ_LIBRARY缺失问题

以下是针对你遇到的PROJ已检测到但CMake提示缺失PROJ_LIBRARY问题的具体解决步骤:

  • 确认PROJ安装完整性
    PROJ 6.3.2必须安装完整的开发包,不能只装运行时。检查你的PROJ安装目录下是否有:

    • include文件夹,包含proj.h等头文件
    • lib文件夹,包含proj.lib(静态库)或proj.dll+proj.lib(动态库导入库)
      同时确保安装路径没有中文、空格或特殊字符,比如优先选择D:\PROJ\6.3.2这类路径。
  • 手动指定PROJ路径给CMake
    CMake自动检测PROJ时可能因为路径或命名问题漏识别库文件,手动指定变量可以解决:

    1. 如果用CMake GUI:
      • 在点击「Configure」前,点击「Add Entry」,分别添加:
        • 变量名PROJ_INCLUDE_DIR,类型PATH,值为PROJ的include目录(如D:\PROJ\6.3.2\include)
        • 变量名PROJ_LIBRARY,类型FILEPATH,值为PROJ的库文件路径(如D:\PROJ\6.3.2\lib\proj.lib)
      • 添加完成后再执行「Configure」,此时CMake会优先使用你指定的路径。
    2. 如果用命令行构建:
      执行cmake时通过-D参数传递路径,注意匹配VS2019的平台(x64/x86):
      cmake -G "Visual Studio 16 2019" -A x64 -DPROJ_INCLUDE_DIR=D:\PROJ\6.3.2\include -DPROJ_LIBRARY=D:\PROJ\6.3.2\lib\proj.lib ../gdal-source
      

    注意:PROJ的库平台必须和你要构建的GDAL平台一致,不能用x86的PROJ库构建x64的GDAL。

  • 清理CMake缓存后重新配置
    之前的配置缓存可能残留错误信息,导致新的变量不生效。在CMake GUI中点击「Delete Cache」,然后重新执行「Configure」和「Generate」;命令行的话直接删除build目录下的所有文件后重新运行cmake命令。

  • 排查PROJ库命名匹配问题
    少数情况下,PROJ的库文件名可能和GDAL的FindPROJ.cmake脚本期望的不一致(比如有些版本会生成proj_6_3.lib)。你可以打开GDAL源码目录下的cmake/FindPROJ.cmake,找到查找库的代码段,修改库名称的匹配规则,或者直接把PROJ的库文件重命名为脚本期望的名字(比如proj.lib)。

  • 验证构建结果
    生成VS2019项目文件后,打开.sln编译,确保没有链接错误。编译完成后,记得把PROJ的proj.dll复制到GDAL生成的可执行文件或库文件所在目录,避免运行时缺失依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:13:31