作者:朱金灿
来源:http://blog.csdn.net/clever101
首先从Lizardtech网站:http://www.lizardtech.com/download/developer/下载MrSID的SDK,我下载的版本是:MrSID_DSDK-8.5.0.3422。
然后在gdal-1.9.1文件夹(gdal源码文件夹)下找到nmake.opt并打开,修改一下两个地方:
#MRSID_DIR =D:MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9 #MRSID_JP2 = YES
改为:
MRSID_DIR =D:MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9 MRSID_JP2 = YES
再找到MRSID_LIB_LINK宏添加需要链接的库:
!IF DEFINED(MRSID_DIR) || DEFINED(MRSID_RASTER_DIR) || DEFINED(MRSID_LIDAR_DIR) !IF "$(MRSID_PLUGIN)" != "YES" MRSID_LIB_LINK = D:MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9Raster_DSDKliblti_dsdk.lib D:MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9Lidar_DSDKliblti_lidar_dsdk.lib !ELSE MRSID_LIB_LINK = D:MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9Raster_DSDKliblti_dsdk.lib D:\MrSID_DSDK-8.5.0.3422MrSID_DSDK-8.5.0.3422-win32-vc9Lidar_DSDKliblti_lidar_dsdk.lib !ENDIF !ENDIF
然后编译gdal库。
最后测试一下:
#include <iostream> using namespace std; #include "gdal_priv.h" int _tmain(int argc, _TCHAR* argv[]) { GDALAllRegister(); GDALDataset* poDataset = (GDALDataset *) GDALOpen("F:\MyRes\xiangyang\rs[420600][200305][2004].sid", GA_ReadOnly ); if( poDataset != NULL ) { cout<<"RasterXSize:"<<poDataset->GetRasterXSize()<<endl; cout<<"RasterYSize:"<<poDataset->GetRasterYSize()<<endl; cout<<"RasterCount:"<<poDataset->GetRasterCount()<<endl; } getchar(); return 0; }