当前位置:编程学习 > 网站相关 >>

跪求请教:gdaljava binding步骤

最近要用到GDAL,因为采用的语言是java 需要,相应的jni的dll和gdal.jar。但是不知道为什么总是在编译class文件时出错。具体如下:
E:\gdal-1.5.0>nmake /f makefile.vc java

gdal150.zip解压至“E:\gdal-1.5.0”
修改源代码中的错误。源文件“C:\gdal-1.5.0\frmts\leveller\levellerdataset.cpp”的第171行的内容如下: 

{ "?, kPI / 180.0, UNITLABEL_DEGREE }, 

在?号后面加上双引呈",改成如下形式: 

{ "?", kPI / 180.0, UNITLABEL_DEGREE }, 

打开“Visual Studio 2005 命令提示”工具
1>   E:\gdal-1.5.0 
2>   nmake /f makefile.vc  执行编译
3>   nmake /f makefile.vc install
4>   nmake /f makefile.vc devinstall
5>   cd swig   
6>   E:\gdal-1.5.0\swig>nmake /f makefile.vc java
生成了4个dll:osrjni.dll    orgjni.dll   gdaljni.dll  gdalconstjni.dll
但是在生成gdal.jar时报错如下:


compile:
    [javac] Compiling 39 source files to E:\gdal-1.5.0\swig\java\build\classes
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:32: 无法将 org
.gdal.gdal.gdalJNI 中的 delete_ColorEntry(java.awt.Color) 应用于 (long)
    [javac]         gdalJNI.delete_ColorEntry(swigCPtr);
    [javac]                ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:44: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c1_set(java.awt.Color,short) 应用于 (long,sho
rt)
    [javac]     gdalJNI.ColorEntry_c1_set(swigCPtr, value);
    [javac]            ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:48: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c1_get(java.awt.Color) 应用于 (long)
    [javac]     return gdalJNI.ColorEntry_c1_get(swigCPtr);
    [javac]                   ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:52: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c2_set(java.awt.Color,short) 应用于 (long,sho
rt)
    [javac]     gdalJNI.ColorEntry_c2_set(swigCPtr, value);
    [javac]            ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:56: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c2_get(java.awt.Color) 应用于 (long)
    [javac]     return gdalJNI.ColorEntry_c2_get(swigCPtr);
    [javac]                   ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:60: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c3_set(java.awt.Color,short) 应用于 (long,sho
rt)
    [javac]     gdalJNI.ColorEntry_c3_set(swigCPtr, value);
    [javac]            ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:64: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c3_get(java.awt.Color) 应用于 (long)
    [javac]     return gdalJNI.ColorEntry_c3_get(swigCPtr);
    [javac]                   ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:68: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c4_set(java.awt.Color,short) 应用于 (long,sho
rt)
    [javac]     gdalJNI.ColorEntry_c4_set(swigCPtr, value);
    [javac]            ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:72: 无法将 org
.gdal.gdal.gdalJNI 中的 ColorEntry_c4_get(java.awt.Color) 应用于 (long)
    [javac]     return gdalJNI.ColorEntry_c4_get(swigCPtr);
    [javac]                   ^
    [javac] E:\gdal-1.5.0\swig\java\org\gdal\gdal\ColorEntry.java:76: 找不到符号

    [javac] 符号: 构造函数 ColorEntry(java.awt.Color,boolean)
    [javac] 位置: 类 org.gdal.gdal.ColorEntry
    [javac]     this(gdalJNI.new_ColorEntry(), true);
    [javac]     ^
    [javac] 10 错误



这个问题困扰好几天了,恳请求高手帮忙看看,究竟怎么编译才行。或者如果有已经编译好的能用的dll和jar,能不能邮件给我。万分感谢。zwm.runa@qq.com
    --------------------编程问答-------------------- 自己顶一下,继续等高手 --------------------编程问答-------------------- java不能直接用com的dll? --------------------编程问答-------------------- ?有谁弄过啊,求教啊。 --------------------编程问答-------------------- 我也遇到和楼主相同的问题。是按照gdal官网上给的步骤做的吗?gdal java编译参考http://trac.osgeo.org/gdal/wiki/GdalOgrInJavaBuildInstructions  不是cd swig里然后再nmake /f makefile.vc java 我也生成不了jar包 请问楼主的问题解决了吗?

补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,