下载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)

     

     

     

     

     

     

     

     

    相关文章:

    • 2022-12-23
    • 2022-12-23
    • 2022-12-23
    • 2021-08-07
    • 2021-11-04
    • 2021-10-13
    • 2022-02-19
    • 2021-08-06
    猜你喜欢
    • 2021-05-22
    • 2021-07-18
    • 2022-12-23
    • 2022-12-23
    • 2021-12-14
    • 2022-12-23
    相关资源
    相似解决方案