作者:朱金灿

来源: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.3422\MrSID_DSDK-8.5.0.3422-win32-vc9
#MRSID_JP2 = YES

改为:

MRSID_DIR =D:\MrSID_DSDK-8.5.0.3422\MrSID_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.3422\MrSID_DSDK-8.5.0.3422-win32-vc9\Raster_DSDK\lib\lti_dsdk.lib D:\MrSID_DSDK-8.5.0.3422\MrSID_DSDK-8.5.0.3422-win32-vc9\Lidar_DSDK\lib\lti_lidar_dsdk.lib
!ELSE
MRSID_LIB_LINK = D:\MrSID_DSDK-8.5.0.3422\MrSID_DSDK-8.5.0.3422-win32-vc9\Raster_DSDK\lib\lti_dsdk.lib D:\\MrSID_DSDK-8.5.0.3422\MrSID_DSDK-8.5.0.3422-win32-vc9\Lidar_DSDK\lib\lti_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;
}

gdal库集成MrSID库的做法的更多相关文章

  1. gdal集成kml库的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近要读取kml文件,具体就是把kml文件当作一个矢量文件来读取.我发现gdal是支持集成kml库的.不过集成这个km ...

  2. Android中集成第三方库的方法和问题

    Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...

  3. 【翻译】在Ext JS集成第三方库

    原文地址:http://www.sencha.com/blog/integrating-ext-js-with-3rd-party-libraries/ 作者:Kevin Kazmierczak Ke ...

  4. cocoapods集成三方库遇到的坑

    什么都不想说直接上图 这是最近在管理三方库时遇到头疼的问题,刚开始一直怀疑是cocoapods或者ruby的版本问题但是升级到最新版还是同样的错误,后来又怀疑是资源文件的问题但是在同一时间不同地点集成 ...

  5. 使用 Swift Package Manager 集成依赖库

      本文首发于 Ficow Shen's Blog,原文地址: 使用 Swift Package Manager 集成依赖库.   内容概览 前言 添加依赖包 在项目中使用依赖 管理已导入的依赖 在团 ...

  6. Vue3学习(五)之集成HTTP库axios

    一.安装axios npm install axios@0.21.0 --save 二.axios的使用 1.在主页中引用axios 在Vue3新增了setup初始化方法,所以我们在这里开始使用并测试 ...

  7. 真香警告!JitPack 开源库集成平台

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介 官方介绍: JitPack 是一个用于 JVM 和 Android 项目的新颖的包存储库.它按需构建 Git 项目并为您提供即用 ...

  8. 【转】iOS动态库和静态库的简要介绍

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

  9. iOS 静态库,动态库与 Framework 浅析

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

随机推荐

  1. jvisualvm 工具使用

    VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe). https:// ...

  2. HttpClient证书回调问题解决

    /// <summary>        /// httpclient请求        /// </summary>        /// <param name=&q ...

  3. C# AutoMapper

    http://www.cnblogs.com/xlhblogs/p/3356748.html

  4. 【例题 6-8 UVA - 548】Tree

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 后序遍历的最后一个是根节点. ->然后在中序遍历中找到这个节点. 分为左右两段. 然后递归上述操作就好. 题目描述好坑啊. 原 ...

  5. UITextField用法

    .创建 .UITextField* textField = [[UITextField alloc]initWithFrame:CGRectMake(, , , )]; .设置委托 //委托类需要遵守 ...

  6. php课程 1-3 字符串变量输出方式有哪些(总结:四种)

    php课程 1-3 字符串变量输出方式有哪些(总结:四种) 一.总结 一句话总结:推荐使用双引号中加{$变量名}的形式(echo "my name is {$name}eee !" ...

  7. 3、Pycharm使用

    1.设置文件模板 file->settings->Editor->File and Code Templates->Python Script 2.运行 a.点击要运行的文件, ...

  8. [Angular2Fire] Firebase auth (Google, Github)

    To do auth, first you need to go firebase.console.com to enable the auth methods, for example, enabl ...

  9. [Angular2 Form] Model Driven Form Custom Validator

    In this tutorial we are going to learn how simple it is to create custom form field driven validator ...

  10. php 修改文件内容,替换指定内容

    $f='./test.txt'; file_put_contents($f,str_replace('{{modulename}}','Hospital',file_get_contents($f)) ...