• gdal库集成MrSID库的做法


    作者:朱金灿

    来源: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;
    }
    
    
    
    
    



  • 相关阅读:
    排序算法 之 冒泡排序 插入排序 希尔排序 堆排序
    DataStructure之线性表以及其实现
    使用可重入函数进行更安全的信号处理
    内存经济学
    电脑通用技能
    循环套餐的逻辑
    占用了多少内存
    索引的用法
    电脑的眼缘
    字符串积木
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470481.html
Copyright © 2020-2023  润新知