windows下使用libtiff

本文详细介绍了如何从源代码编译较高版本的libtiff,并解决了在使用TIFFOpenW函数时遇到的调试问题。包括配置编译环境、解决依赖冲突及确保程序的unicode兼容性。

最近需要用到 libtiff
但是,我希望用一个比较高版本的。
因为我希望能够用上 TIFFOpenW 这个函数。
没错,后面那个 w 表示的是 wide char 。
所以,我的程序的其他部分,全部都可以是基于 unicode 的。

可是, libtiff for windows 新的版本,已经没有现成的 binary 了。
只能自己编译。

下载libtiff的源代码

这里
但是,不要尝试去下载windows binary,那个版本很低。
直接下载源代码

编译

解压之后,会发现没有cmakelist,所以,没法用cmake去生成vs的工程。
可是,好消息是,里面有一个 makefile.vc 文件。

这意味着,可以使用 windows SDK 的 commandline 工具编译。
打开windows SDK 里面的commandline 工具,cd 到libtiff 所在文件夹。
输入命令即可:

nmake /f makefile.vc 

编译完了之后,在libtiff里面的libtiff文件夹里,你会得到.lib和.dll 文件。

这个地方可能出现的错误是,要注意你用的nmake是 32bit 的,还是64bit的。
如果你装的vs是64bit的,那就有两个 namke 。

如果,你的 nmake 用的是 64bit 的,那么在 vs 里面,configuration manager 要将 64bit 设置为 active .

用 TIFFOpenW 的时候出错

我发现我在用 TIFFOpenW 的时候debug模式下还是有问题。
后来,有个人说这是之前的 makefile.vc 写得有问题。

这里其实有两种解决方案 :

  • 第一,是按照上面的链接里的说法,修改 makefile.vc, 链接debug 版本的 runtime lib
  • 另一个是,偷懒了,在 release mode 下,就 okay了。

另外,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++&
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值