我知道这可能相当简单,但是我有一些问题需要掌握我需要安装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中还有一些环境变量以及相似但不同的文件夹。
基本上代码甚至无法运行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有所帮助。它已经安装,修复安装,似乎可以解决问题。希望能帮助其他有类似问题的人。