1

我是 exiflib 的新手。我已经下载了 exiflib 源文件 (libexif-0.6.20.zip),并包含在我的 VC++ 项目中。当我尝试构建时,它会产生一些链接器错误,

未解析的外部符号 _exif_entry_get_value,符号 _exif_format_get_name ..

任何帮助将不胜感激..

4

1 回答 1

1

在 MSVC++ 中编译 libexif 有点麻烦。它使用 MSVC 选择不实现的功能。请参阅下面我的工作示例 VS2010 项目(如果您不喜欢下载文件,请跳到我对需要更改的内容的解释以使其在下面工作):

https://www.dropbox.com/s/l6wowl8pouux01a/libexif-0.6.21_CompiledInVS2010%2BExample.7z?dl=0

详细地说,需要“破解”的问题(如 LibExif readme-win32.txt 文档中所暗示的)是:

  • Libexif在 VS for C 中没有定义的几个地方使用内联,只有 C++ (见这个

  • Libexif 使用 VS 中未定义的 snprintf(请参见此处

  • 您需要自己创建 config.h 而无需 ./configure 命令来帮助您。您可以通读该脚本,但其中大部分内容对于 Windows VS2010 没有意义。

  • 您将需要定义 GETTEXT_PACKAGE 因为它可能已在配置文件中设置。我只是选择UTF-8,是否正确我不确定。

  • 有一个随机的无符号静态 *需要从 .c 文件移动到 .h 文件,因为 VS 中的 C 不允许您以它们尝试执行的特定方式在函数内部创建新变量。

一旦您解决了上述问题,您未解决的外部符号问题应该会消失。

于 2015-06-09T23:52:47.863 回答