zoukankan      html  css  js  c++  java
  • VC++编译LIBTIFF4.0.4

    第1章简介

    libtiff是一个用于读写.tif文件的开源C函数库。

    它的下载网址如下:

    ftp://ftp.remotesensing.org/pub/libtiff/


    第2章命令行编译

    2.1 编译

    解压libtiff 4.0.4至W: iff-4.0.4目录。目录结构如下图所示:

    再根据W: iff-4.0.4复制出tiff-4.0.4-vc6和tiff-4.0.4-vc2010,如下图所示:

    tiff-4.0.4-vc6        将使用vc6编译

    tiff-4.0.4-vc2010    将使用vc2010编译

    2.1.1 使用VC++2010编译

    "开始"菜单【Microsoft Visual Studio 2010】【Visual Studio Tools】下有四个快捷方式,它们都可以打开DOS命令窗口,如下图所示:

    这四个快捷方式的含义如下:

    Visual Studio Command Prompt (2010)调用32位的编译程序,生成32位的程序;

    Visual Studio Itanium Cross Tools Command Prompt (2010) 调用32位的编译程序,生成64位的Itanium程序;

    Visual Studio x64 Cross Tools Command Prompt (2010) 调用32位的编译程序,生成64位的x64程序;

    Visual Studio x64 Win64 Command Prompt (2010) 调用64位的编译程序,生成64位的x64程序。

    如果要编译生成32位的程序,可运行Visual Studio Command Prompt (2010);

    如果要编译生成64位的x64程序,可运行Visual Studio x64 Cross Tools Command Prompt (2010)或Visual Studio x64 Win64 Command Prompt (2010),后者要求Windows是64位的;

    如果要编译生成64位的Itanium程序,可运行Visual Studio Itanium Cross Tools Command Prompt (2010)。

    这里编译生成32位的程序,所以运行Visual Studio Command Prompt (2010)。

    依次运行如下几行命令

    cd /d W: iff-4.0.4-vc2010

    nmake /f makefile.vc

    如下图所示:

    等待一会儿,编译工作就完成了,如下图所示:

    2.1.2 使用VC++6编译

    打开DOS命令窗口,然后依次运行如下几行命令

    "C:Program FilesMicrosoft Visual StudioVC98BinVCVARS32.BAT"

    cd /d W: iff-4.0.4-vc6

    nmake /f makefile.vc

    如下图所示:

    等待一会儿,编译工作就完成了,如下图所示:

    2.2 生成的文件

    上一节编译都生成了哪些文件?使用Beyond Compare软件比较一下就知道了,如下图所示:

    最重要的几个文件都在libtiff目录下:

    libtiff.dll        libtiff动态库

    libtiff_i.lib    libtiff动态库的导入库

    libtiff.lib        libtiff静态库

    还有tif_config.h和tiffconf.h,它们是由tif_config.vc.h和tiffconf.vc.h复制而得到的。

    使用 nmake /f makefile.vc clean清理编译产生的文件之前,请把上述重要的文件复制出来,否则将会被删除掉。


    第3章 IDE编译

    3.1 编译时重定向

    上一章的编译很简单,但是有几个问题需要搞清楚:

    1、编译时用到了哪些文件?

    2、编译时定义了哪些宏?

    为此,在上一章编译时把命令nmake /f makefile.vc更改为

    nmake /f makefile.vc clean all > vc.txt

    就是编译前清理一下,然后把输出重定向到文件vc.txt里。

    编译完成后,查看vc.txt文件

    编译用到了哪些文件,定义了哪些宏,一目了然。

    3.2 编译需要的文件

    port和tools的编译不是重点,这里只说明libtiff的编译。它需要如下文件:

    1、W: iff-4.0.4-vc6libtiff if_*.c,但不包括 tif_lzma.c 和 tif_win32.c;

    2、W: iff-4.0.4-vc6libtiff if_stream.cxx

    总计39个文件。

    3.3 编译时定义的宏

    编译时定义的宏有14个,具体如下:

    _CRT_SECURE_NO_DEPRECATE

    AVOID_WIN32_FILEIO

    CCITT_SUPPORT

    CHECK_JPEG_YCBCR_SUBSAMPLING

    DEFAULT_EXTRASAMPLE_AS_ALPHA

    FILLODER_LSB2MSB

    LOGLUV_SUPPORT

    LZW_SUPPORT

    NEXT_SUPPORT

    PACKBITS_SUPPORT

    STRIPCHOP_DEFAULT=TIFF_STRIPCHOP

    STRIP_SIZE_DEFAULT=8192

    THUNDER_SUPPORT

    TIF_PLATFORM_CONSOLE

    有了以上信息,IDE里编译libtiff就是非常简单的事情了。

  • 相关阅读:
    mq概念
    Mac Xampp 安装redis 及 安装php-redis扩展
    rabbitmq死信队列(延迟队列)demo
    rabbitmq生产与消费测试
    RabbitMQ各方法详解
    Mac git old mode 100644 new mode 100755 mac目录权限问题
    mac安装redis
    msql创建用户并授权
    mac apache php 访问失败
    Kubernetes入门学习--在Ubuntu16.0.4安装配置Minikube
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13672793.html
Copyright © 2011-2022 走看看