问题描述
最近要用到GDAL,因为采用的语言是java需要,相应的jni的dll和gdal.jar。但是不知道为什么总是在编译class文件时出错。具体如下:E:gdal-1.5.0>nmake/fmakefile.vcjavagdal150.zip解压至“E:gdal-1.5.0”修改源代码中的错误。源文件“C:gdal-1.5.0frmtslevellerlevellerdataset.cpp”的第171行的内容如下:{"?,kPI/180.0,UNITLABEL_DEGREE},在?号后面加上双引呈",改成如下形式:{"?",kPI/180.0,UNITLABEL_DEGREE},打开“VisualStudio2005命令提示”工具1>E:gdal-1.5.02>nmake/fmakefile.vc执行编译3>nmake/fmakefile.vcinstall4>nmake/fmakefile.vcdevinstall5>cdswig6>E:gdal-1.5.0swig>nmake/fmakefile.vcjava生成了4个dll:osrjni.dllorgjni.dllgdaljni.dllgdalconstjni.dll但是在生成gdal.jar时报错如下:compile:[javac]Compiling39sourcefilestoE:gdal-1.5.0swigjavabuildclasses[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:32:无法将org.gdal.gdal.gdalJNI中的delete_ColorEntry(java.awt.Color)应用于(long)[javac]gdalJNI.delete_ColorEntry(swigCPtr);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:44:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c1_set(java.awt.Color,short)应用于(long,short)[javac]gdalJNI.ColorEntry_c1_set(swigCPtr,value);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:48:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c1_get(java.awt.Color)应用于(long)[javac]returngdalJNI.ColorEntry_c1_get(swigCPtr);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:52:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c2_set(java.awt.Color,short)应用于(long,short)[javac]gdalJNI.ColorEntry_c2_set(swigCPtr,value);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:56:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c2_get(java.awt.Color)应用于(long)[javac]returngdalJNI.ColorEntry_c2_get(swigCPtr);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:60:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c3_set(java.awt.Color,short)应用于(long,short)[javac]gdalJNI.ColorEntry_c3_set(swigCPtr,value);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:64:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c3_get(java.awt.Color)应用于(long)[javac]returngdalJNI.ColorEntry_c3_get(swigCPtr);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:68:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c4_set(java.awt.Color,short)应用于(long,short)[javac]gdalJNI.ColorEntry_c4_set(swigCPtr,value);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.java:72:无法将org.gdal.gdal.gdalJNI中的ColorEntry_c4_get(java.awt.Color)应用于(long)[javac]returngdalJNI.ColorEntry_c4_get(swigCPtr);[javac]^[javac]E:gdal-1.5.0swigjavaorggdalgdalColorEntry.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官网上给的步骤做的吗?gdaljava编译参考http://trac.osgeo.org/gdal/wiki/GdalOgrInJavaBuildInstructions不是cdswig里然后再nmake/fmakefile.vcjava我也生成不了jar包请问楼主的问题解决了吗?