1

我目前正在尝试保存大小大于 4GB 的 tif 格式图像。所以我正在尝试从 bigtiff.org 设置 bigtiff(libtiff 4.1)。但是,无论使用nmake还是vs2012,我都无法编译它。使用nmake,它没有nmake.opt。使用vs2012,无法编译成dll。错误将如下所示:

1>tif_codec.obj : error LNK2001: unresolved external symbol TIFFInitPixarLog 
1>tif_codec.obj : error LNK2001: unresolved external symbol TIFFInitZIP 
1>tif_codec.obj : error LNK2001: unresolved external symbol TIFFInitJPEG

有谁知道如何设置bigtiff?

4

1 回答 1

0

我建议使用 nmake 构建 - 我发现这比使用 Visual Studio 更好(我使用的是 Visual Studio 2008)。我还建议从libtiff 的官方网站http://www.remotesensing.org/libtiff/下载最新版本。此版本包括 BigTIFF 支持。这还应该包括一个示例 nmake.opt 文件,您可能需要对其进行编辑以指向您的 libtiff 和 libz 库。如果您不需要支持 JPEG、ZIP 或 Pixar,您应该能够在 nmake.opt 文件中禁用这些。以下是我使用的 nmake.opt 中的几行:

#
# Uncomment and edit following lines to enable JPEG support.
#
JPEG_SUPPORT = 1
JPEGDIR = C:/libjpeg-turbo
JPEG_INCLUDE = -I$(JPEGDIR)/include
JPEG_LIB = $(JPEGDIR)/lib/jpeg-static.lib

#
# Uncomment and edit following lines to enable ZIP support
# (required for Deflate compression and Pixar log-format)
#
ZIP_SUPPORT = 1
ZLIBDIR = D:/zlib-1.2.7
ZLIB_INCLUDE = -I$(ZLIBDIR)
ZLIB_LIB = $(ZLIBDIR)/build/Release/zlibstatic.lib

如果我没记错的话,缺失的符号分别位于 tif_pixarlog.c、tif_jpeg 和 tif_zip 中。您可能需要检查这些文件是否存在。

于 2014-02-24T15:59:39.803 回答