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

从源码编译PDAL时缺失GDAL头文件cpl_vsi.h的问题

PDAL源码编译找不到GDAL头文件cpl_vsi.h的解决思路

解决步骤

  • 彻底清理构建目录并重新生成CMake配置
    之前执行apt-get purge libgdal-dev后未重新生成构建文件,旧的Makefile依然使用过期配置,导致编译时无法引入GDAL头文件。执行以下命令:

    cd /home/moritzmoreira/pdal/PDAL/build
    rm -rf *
    cmake ..
    
  • 手动指定GDAL路径重新配置CMake
    如果自动检测仍有问题,显式传递GDAL的include目录和库路径给CMake:

    cmake .. -DGDAL_INCLUDE_DIR=/usr/include/gdal -DGDAL_LIBRARY=/usr/lib/x86_64-linux-gnu/libgdal.so
    
  • 检查PDAL与GDAL版本兼容性
    Ubuntu 24.04预装的GDAL版本可能较新,若使用PDAL的开发分支(如master)可能存在适配问题。建议切换到PDAL的稳定发行分支(例如2.6.x系列)再尝试编译。

  • 临时手动添加include路径到编译目标
    若上述方法无效,可直接修改测试目标的CMake配置:找到test/unit/CMakeLists.txt中对应pdal_io_vsi_test的部分,添加:

    target_include_directories(pdal_io_vsi_test PRIVATE /usr/include/gdal)
    

    保存后重新执行make。

问题原因分析

从编译命令可以看到,当前编译命令中没有包含-I/usr/include/gdal参数,尽管CMakeCache.txt里正确识别了GDAL路径,但可能是由于PDAL的CMake脚本未将该路径传递给测试编译目标,或者旧构建缓存导致配置未更新。执行purge后未清理构建目录,旧的Makefile依然沿用无GDAL include路径的配置,因此更早阶段编译其他文件时也出现相同错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:12:42