3

我知道这可能相当简单,但是我在掌握安装 GDAL 和读取地理参考栅格所需的所有不同软件包时遇到了一些问题。

因此,我已经安装了 OSGEO4W,因此存在如下文件夹路径:C:\OsGeo4W\lib\gdal.jar以及C:\OsGeo4W\apps\swigwin\swig.exe

我也有来自http://vbkto.dyndns.org/sdk/的版本,所以我有一个如下的文件夹路径:C:\ProjectsJava\gdal\bin\gdal\java\带有一个 gdal.jar 和一堆 dll。这是我项目库中最初链接的内容。

在谷歌搜索问题之后,我还在-Djava.library.path项目的 VM 选项中添加了一个指向上述 gdal 文件夹路径(不完全确定我做了什么,但无论如何都没有改变)。

同样从随机谷歌搜索的答案中,我向 windows 添加了环境变量,指向这个以及与 GDAL 或 SWIG 相关但什么也没做(所以暂时删除它们)。所以我只有一个PATH指向 gdal/bin 文件夹和一个GDAL_DATA指向 gdal/bin/gdal-data 文件夹。如果它有任何区别,我已经成功安装了 Python 的 GDAL 绑定,并且在 PATH 和 GDAL_DATA 以及类似但不同的文件夹中遗留了一些环境变量。

基本上代码甚至无法运行 a gdal.Open(in_path),给出以下错误,无论我做了什么不同的事情都没有改变:

Native library load failed.
java.lang.UnsatisfiedLinkError: C:\ProjectsJava\gdal\bin\gdal\jave\gdaljni.dll: Can't find dependent libraries
java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.Open__SWIG_1(Ljava/lang/String;)J'
  at org.gdal.gdal.gdalJNI.Open__SWIG_1(Native Method)
  at org.gdal.gdal.gdal.Open(gdal.java:563)
  at ...

现在我知道我可能搞砸了让 GDAL 正确,但老实说,迷宫般的指令很早就让我迷失了方向。所有用于使 C++ 代码适应 Java 的奇怪包和用于 Unix/Linux 的指令现在都让我感到困惑。

解决了

不知道为什么,但重新安装 Microsoft 2010 C++ Redistributable Package x86 有所帮助。它已经安装,进行了修复安装,这似乎可以解决问题。希望能帮助其他有类似问题的人。

4

0 回答 0