zoukankan      html  css  js  c++  java
  • vc++编译libtiff4.0.4

    1简介    1

    2命令行编译    2

    2.1 编译    2

    2.1.1 使用VC++2010编译    2

    2.1.2 使用VC++6编译    4

    2.2 生成的文件    5

    3 IDE编译    7

    3.1 编译时重定向    7

    3.2 编译需要的文件    7

    3.3 编译时定义的宏    8

    1简介

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

    它的下载网址如下:

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

    2命令行编译

    2.1 编译

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

    再根据W: iff-4.0.4复制出tiff-4.0.4-vc6tiff-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),后者要求Windows64位的;

    如果要编译生成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.htiffconf.h,它们是由tif_config.vc.htiffconf.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 编译需要的文件

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

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

    2W: 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就是非常简单的事情了。

  • 相关阅读:
    我是5型
    现在的我,有两个状态。我要去找第三个
    什么是BNF范式,什么又是EBNF范式?
    又是好久不写日志
    语料库资源汇总
    原生js与css3结合的电风扇
    JavaScript基础2
    JavaScript基础1
    JavaScript基础4
    JavaScript基础3
  • 原文地址:https://www.cnblogs.com/hanford/p/6168799.html
Copyright © 2011-2022 走看看