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

如何用MinGW、MSYS2编译C++版GDAL 3.2.3并配置PROJ、SQLite

MinGW编译GDAL 3.2.3引入PROJ和SQLite的解决方法

首先明确:VS+MSVC依赖的nmake.opt配置方式不适用于MinGW环境,MinGW下需通过./configure脚本传递参数来指定依赖库路径,具体操作如下:

1. 先确保PROJ和SQLite编译安装完成

  • 编译SQLite:将其编译为静态或动态库,安装到自定义路径(如/usr/local/sqlite),确保路径下存在include/sqlite3.h头文件,以及lib/libsqlite3.a或libsqlite3.dll.a库文件
  • 编译PROJ:同样安装到自定义路径(如/usr/local/proj),确认include/proj.h头文件、lib/libproj.a等库文件存在

2. 给GDAL的./configure传递依赖参数

执行./configure时,需明确指定PROJ和SQLite的安装根目录,示例命令:

./configure --prefix=/usr/local/gdal \
            --with-proj=/usr/local/proj \
            --with-sqlite3=/usr/local/sqlite
  • --prefix:指定GDAL最终的安装路径
  • --with-proj:指定PROJ的安装根目录,脚本会自动识别该目录下的include和lib子目录
  • --with-sqlite3:指定SQLite的安装根目录,逻辑同上

如果依赖库未安装到标准路径,也可手动指定头文件和库路径:

./configure --prefix=/usr/local/gdal \
            CPPFLAGS="-I/usr/local/proj/include -I/usr/local/sqlite/include" \
            LDFLAGS="-L/usr/local/proj/lib -L/usr/local/sqlite/lib" \
            --with-proj \
            --with-sqlite3

3. 验证配置结果

执行./configure后,查看输出日志,确认出现以下类似内容:

checking for PROJ... yes
checking for sqlite3.h... yes

无报错则说明依赖库已被正确识别,后续执行make和make install即可完成编译安装。

常见问题排查

  • 若仍提示找不到库,检查依赖库的安装路径是否正确,确认头文件和库文件存在
  • 使用动态库时,可临时设置环境变量让系统找到库文件:export LD_LIBRARY_PATH=/usr/local/proj/lib:/usr/local/sqlite/lib:$LD_LIBRARY_PATH

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:24