the LEDAPS定标模块lndcal移植到windows过程中的一些问题

移植过程主要是参考http://hi.baidu.com/akaishi/item/d89fcfdcdcc236d9241f4079,在此感谢此博文的博主.然而所遇到的问题并不完全与此博文所提到的一样。主要的问题有以下几点:

1)该添加的库还是都要添加的,像geotiff,libtiff,jpeg,szib,zlib,hdf,hdfeos等这些库,其中jpeg、szib、zlib是geotiff、libtiff、hdf、hdfeos库编译所依赖的。其中已编译好的hdf、hdfeos库已上传了,参见http://download.csdn.net/detail/journey27/7161853 ;http://download.csdn.net/detail/journey27/7161829 。

2)所依赖的库都编译添加好以后,进行编译,提示找不到‘sys\mman.h’,原来是linux下的一个头文件,抱着试试的态度,直接注释掉,再次编译,该错误没再出现。

3)接着就是一堆link error, 主要是2001和2005.

  link error 2001提示的是error LNK2001: unresolved external symbol _strncasecmp in param.obj。goole了一下strncasecmp这个函数,发现是Linux下的一个函数,将其换成windows下C语言的相对应得函数strncmp即可。

  link error 2005提示的是error LNK2005: _W_OK already defined in cal.obj input.obj

                         error LNK2005: _R_OK already defined in cal.obj input.obj

都是W_OK,R_OK被多次定义的问题,搜索了一下这两个变量,结果只有"unistd.h"文件下有这两个变量。于是上网goole,根据各种解决办法都解决不了,捣腾了一天都没结果,最后又是抱着试试的态度,直接将“unistd.h”中定义的W_OK,R_OK注释掉。然后神奇的事儿发生了,编译通过了。在此还是很担心会有其他的问题。最后拿数据运行试试了,结果很正确。或许是LINUX下的“unistd.h”在windows下用的本身就不多吧,具体原因还有待研究。

4)需将数据放在.exe文件下才可以正确运行,对此非常不方便,关于路径这方面的代码,将在后续进行修改。

有研究大气校正的童鞋们,可以互相交流哦。每次问题的解决方法都有点儿让我惊奇,很简单,却花了很多时间,所以写出来,希望能帮到大家,节省一些时间。(*^__^*) 嘻嘻……

---------------------------------------------------------不要被未知的恐惧打败,Just do it.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值