libtiff编译

windows上编译libtiff  

 转自:http://blog.163.com/qimo601%40126/blog/static/15822093201410194292347/

1、下载:tiff-4.0.3.zip  http://download.osgeo.org/libtiff/

2、将libtiff 4.0.3解压到[工作目录]/tiff/tiff-4.0.3

3、修改部分编译的参数

4.此后,可能会遇到很多个bug;

如果你遇到错误说没有libjpeg库,这是因为你的电脑上没有libjpeg库(如果你的电脑上有,那么你就不会出现这种情况)。如果你的电脑没有其他的库(如zip格式支持),可能会报其他的类似错误。

 

对于Release,编辑tiff/tiff-4.0.3里面的nmake.opt如下选项,去掉注释:

JPEG_SUPPORT = 1
JPEGDIR = [工作目录]/jpeg/libjpeg
JPEG_INCLUDE = -I$(JPEGDIR)
JPEG_LIB = $(JPEGDIR)/Release/libjpeg.lib

ZIP_SUPPORT = 1
ZLIBDIR = [工作目录]/zlib/install
ZLIB_INCLUDE = -I$(ZLIBDIR)/include
ZLIB_LIB = $(ZLIBDIR)/lib/zlib.lib

PIXARLOG_SUPPORT = 1

OPTFLAGS =/Ox /MT /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE

LD=link /nologo /MACHINE:x86

DLLNAME= libtiff.dll

对于Debug,按如下编辑:

JPEG_SUPPORT = 1
JPEGDIR = [工作目录]/jpeg/libjpeg
JPEG_INCLUDE = -I$(JPEGDIR)
JPEG_LIB = $(JPEGDIR)/Debug/libjpeg.lib

ZIP_SUPPORT = 1
ZLIBDIR = [工作目录]/zlib/install
ZLIB_INCLUDE = -I$(ZLIBDIR)/include
ZLIB_LIB = $(ZLIBDIR)/lib/zlibd.lib

PIXARLOG_SUPPORT = 1

OPTFLAGS = /Zi /MTd /EHsc

LD=link /nologo /MACHINE:x86 /debug

DLLNAME= libtiff_d.dll

3、编译

在Visual Studio 2013命令行里面输入,:

1.D:\test\tiff-4.0.3】: cd D:\test\tiff-4.0.3   

3.【编译】:nmake /f makefile.vc     

编译后会得到两种库:libtiff.lib 和 libtiff_i.lib + libtiff.dll,两种应该都可以使用,我用的是后种方式,可以。 

官方下载地址:http://www.remotesensing.org/libtiff/

 

LIBTIFF源文件的编译(X86,X64)

转自:http://www.cnblogs.com/johenny/archive/2013/06/04/3116681.html

1.下载源码,测试用的是tiff-4.0.1版本,解压到D:盘下

2.cmd 进入tiff-4.0.1/libtiff目录

3.运行vcvarsall.bat脚本,设置nmake的路径
* 如果安装在C盘,cmd不认空格,查看短路径用dir /x命令查看
* 如果没有权限可以把VS2010/VC目录拷贝到D:盘再运行第三点的脚本
*如果要编译x64版本,需要在脚本命令后加入空格x64

4.运行nmake /f makefile.vc
*tiff-4.0.1目录下也有makefile.vc这个文件,libtiff目录下也有,2个是一样的
*nmake会编译一个静态库 和 一个动态库2个版本。

我本机运行的命令是:
1. cd D:\tiff-4.0.1\libtiff

2.D:\tiff-4.0.1\libtiff > D:\VS2010\VC\vcvarsall.bat x64  * 编译64位版本,如果32位就不用加参数,默认32位

3.nmake /f makefile.vc
结束去目录查看,有2个lib 1个dll.

 

 编译jpeg,libtiff(x32,x64)

转自:http://www.cnblogs.com/yaoyansi/articles/1867346.html

下载jpeg-6b-4-src.zip,

解压缩至E:\dev\tools\GnuWin32,则E:\dev\tools\GnuWin32\src\jpeg\6b\jpeg-6b-src下是源代码

我的步骤如下:

1.libtiff依赖于jpeg,所以先编译jpeg(参考http://spinlock.blog.51cto.com/607469/138289)

  1. 把 jconfig.vc 改名为 jconfig.h
  2. 把 makelib.ds 改名为 jpeg.mak
  3. 使用VC++构建jpeg.mak 

      (但我右键单击jpeg.mak,选择用MSVS2005打开失败)我的办法是:

       虽然jpeg.mak用MSVS2005打开失败,但此时jpeg.vcproj已经产生,只是里面的platform,configruation参数不正确(所以无法用MSVC打开)。解决办法是,用VC建一个简单的工程A,把A.vcproj(用notepad.exe打开)里面的platform,configruation参数拷贝到jpeg.vcproj(用notepad.exe打开)里。

      重新打开jpeg.vcproj,选择release模式,根据jpeg.mak的参数重新设置jpeg.vcproj参数:

生成为lib

preprocessor:WIN32;_WIN32;NDEBUG;_WINDOWS;

 预编译头:$(INTDIR)/jpeg.pch

输出文件:$(OUTDIR)\jpeg.lib

4.编译,遇到n多错误INT32未定义。

(http://hi.baidu.com/loveboa/blog/item/4b7af70356ece8e909fa9377.html))

解决方法:

在jmorecfg.h文件里

#endif /* HAVE_ALL_INTS */

后面增加:

#include <windows.h>

5.再次编译jpeg.vcproj,一切ok。

 

 

编译libtiff

下载tiff-3.8.2-1-src,安装到libtiff\3.8.2\目录下,安装后libtiff\3.8.2\src\tiff\3.8.2\tiff-3.8.2-src下有makefile.vc文件。

1.修改libtiff\3.8.2\src\tiff\3.8.2\tiff-3.8.2-src\nmake.opt

JPEG_SUPPORT    = 1
JPEGDIR     = E:/dev/tools/GnuWin32/src/jpeg/6b/jpeg-6b-src
JPEG_INCLUDE    = -I$(JPEGDIR)
JPEG_LIB     = $(JPEGDIR)/Release/jpeg.lib

 

ZIP_SUPPORT    = 1
ZLIBDIR     = E:/dev/tools/zlib
ZLIB_INCLUDE    = -I$(ZLIBDIR)/zlib (因为libtiff用的是#include “zlib.h”)
ZLIB_LIB     = $(ZLIBDIR)/zlib.lib

 

2.打开cmd.exe

>cd libtiff\3.8.2\src\tiff\3.8.2\tiff-3.8.2-src

>%comspec% /k ""D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86

(如果是x64的话运行%comspec% /k ""D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x64)

>nmake /f makefile.vc

虽然最后会提示有link error,但我们需要的lib 和dll 都已经编译出来了:

lib: libtiff\3.8.2\src\tiff\3.8.2\tiff-3.8.2-src\libtiff\libtiff.lib

dll: libtiff\3.8.2\src\tiff\3.8.2\tiff-3.8.2-src\libtiff\libtiff.dll 和libtiff_i.lib

 (END)

 

 

编译LibTiff
 转自:http://www.gispower.org/article/opengis/2009/38/09381954353B0ECBGB6CID0BG1EH9I.html

编译LibTiff
    将LibTiff解压到C:\ tiff-3.8.2,也可以其它路径。打开“Visual Studio 2005 命令提示”工具,该工具位于“开始\程序\Microsoft Visual Studio 2005\Visual Studio Tools”。或者直接打开“cmd”窗口,但需要注册VC编译环境,使用如下代码(与你机子的VS安装路径有关):
E:\program files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
    在命令提示符下,用“cd”命令定位到C:\ tiff-3.8.2,输入以下命令:
nmake /f makefile.vc
    如果提示缺少jpeglib.h导致编译失败,这时请修改../libtiff/tiffconf.h.vc, 把其中的 /* #undef JPEG_SUPPORT */,/* #undef OJPEG_SUPPORT*/ 中的注释/* */去掉。这是因为机子上缺少 libjpeg 库,再删掉 .../libtiff/ 下的所有 .obj 文件。 然后再编译,这样就可以编译成功。

 

posted @ 2015-11-11 09:25  flylong0204  阅读(3734)  评论(0)    收藏  举报