如何构建 GDAL 3.7.2 二进制文件

问题描述 投票:0回答:1

我正在尝试构建 GDAL DLL 和 .lib 文件,因此 GDAL 可用于链接器并包含在其他 C++ 项目中。我们需要从 GDAL 2.0.2 升级到 3.7.2。

以前有人从源代码构建过 GDAL 吗?

我尝试了什么:

  1. 下载GDAL:https://github.com/OSGeo/gdal/releases/tag/v3.7.2
  2. 解压到一个文件夹
  3. 运行 CMake GUI。我是如何得到它的:https://cmake.org/download/
  4. 使用 GUI 的“源代码在哪里”字段,将 CMake 设置为将 GDAL 解压到的目录。请注意下面的字段,它告诉您二进制文件的构建位置。在我的例子中是“目标”。
  5. 安装 Anaconda。
  6. 在“Anaconda提示”中,
    conda install -c conda-forge proj
    conda install -c anaconda swig
  7. 将“PROJ_DIR”变量设置为 anaconda 安装位置的 pkgs 文件夹中的位置。 attempt at setting PROJ_DIR
  8. 在 CMake GUI 中点击“配置”。请注意其适用的 Visual Studio 版本。 CMake shows the VS version
  9. 点击“生成”。
  10. 在(就我而言)GDAL 位置的“目标”文件夹中,现在应该有一个 Visual Studio 解决方案。在上述版本的 VS 中打开它。构建解决方案。

构建应该失败,并出现无法找到“lib.obj”的错误。文件路径已隐藏。

LNK1104 无法打开文件 '... naconda3\pkgs\proj-8.2.1-h5ed7ab8_0\Library\lib.obj' gdal“...\gdal-3.7.2 arget\LINK”

lib.obj 在该位置不存在。我不知道应该用什么来创建它。我不知道为什么“conda install”命令没有将 lib 文件放在那里。

我还注意到,在变量列表(GUI 中间的大窗口)中,对于 PROJ_DIR 变量,在我手动将其设置为上面的“anaconda3\pkgs”目录后,我得到了“PROJ_DIR-NOTFOUND”。在配置过程中它会更改为“PROJ_DIR-NOTFOUND”。

我所期待的: 构建成功。

c++ cmake anaconda gdal proj
1个回答
0
投票

GDAL 3.7.2 可在 conda-forge 存储库中找到。为什么不简单地跑步

conda install -c conda-forge gdal
© www.soinside.com 2019 - 2024. All rights reserved.