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:\tiff-4.0.4目录。目录结构如下图所示:

再根据W:\tiff-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:\tiff-4.0.4-vc2010

nmake /f makefile.vc

如下图所示:

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

2.1.2 使用VC++6编译

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

"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

cd /d W:\tiff-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:\tiff-4.0.4-vc6\libtiff\tif_*.c,但不包括 tif_lzma.c tif_win32.c

2W:\tiff-4.0.4-vc6\libtiff\tif_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就是非常简单的事情了。

支持GPL协议: one line to give the program\'s name and an idea of what it does. Copyright (C) Ports Project 2007/01/30 horse_b This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.      horse_b 研究了6年代码跨平台移植项目,可以做大部分项目的移植,在这里的项目大部分是GPL工程 所以大家得到我的PORTS工程以后,也请尊重GPL协议   文件列表: libpcap-cygwin-port.tar.gz libnet-cygwin-port.tar.gz libtiff-cygwin-port.tar.gz libtiff-mingw-port.tar.gz libtiff-vc-vs.net-port.rar 说明: 所有这些PORTS项目都是horse_b的个人制作,2001年我为NIDS系统软件SNORT项目做了一个WIN32-Port的项目, 应该比SNORT作者出win32 port要早半年,但是我没有公开过这个WIN32 PORT,这个项目的WIN32 的二进制程序 在黑客网站黑白中可以找到 http://www.yiii.net/app/club/view.jsp?Information_Id=I00014317 抓包驱动snort182drv.zip http://www.yiii.net/app/club/view.jsp?Information_Id=I00014560 ids.zip 请大家尊重我的劳动,不允许任意改动我做的PORTS项目,用要做PORTS项目的,请发邮件和我联系 如果有人和我讨论移植和开发编译器,可以来信和我讨论: 我的专门接受此类问题的EMAIL: winddk64@gmail.com 或者 winddk64@163.com       技术下载区 Libpcap cygwin port下载:    libpcap-cygwin-port.tar.gz libnet cygwin port下载: libnet-cygwin-port.tar.gz   libtiff cygwin port下载: libtiff-cygwin-port.tar.gz libtiff mingw port下载: libnet-mingw-port.tar.gz (这个工程我觉得有VC和VS。NET的PORT了,我就没做这个PORT,有人要这个PORT,可以和我联系,半天就能搞定了) libtiff vc++&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值