我是exiflib的新手。我已经下载了exiflib源文件(libexif-0.6.20.zip),并包含在我的VC ++项目中。当我尝试构建时,会产生一些链接器错误,
未解析的外部符号_exif_entry_get_value,符号_exif_format_get_name ..
任何帮助将不胜感激..
答案 0 :(得分:1)
要在MSVC ++中进行libexif编译是一项黑客工作。它使用MSVC选择不实现的功能。请参阅下面的我的工作示例VS2010项目(如果您不喜欢下载文件,请跳过我的说明,了解需要更改以使其在下面工作):
https://www.dropbox.com/s/l6wowl8pouux01a/libexif-0.6.21_CompiledInVS2010%2BExample.7z?dl=0
详细说明,需要“hack”的问题(如LibExif readme-win32.txt文档中所示)是:
Libexif在几个地方使用内联,这在VS for C中没有定义,只有C ++(参见this)
Libexif使用未在VS中定义的snprintf(参见here)
您需要在没有./configure命令的情况下自行创建config.h来帮助您。您可以阅读脚本,但大部分内容对Windows VS2010没有意义。
您需要定义GETTEXT_PACKAGE,因为它可能是在配置文件中设置的。我只选择UTF-8,无论是否正确,我不确定。
随机 unsigned static * 需要从.c文件移动到.h文件,因为VS中的C不允许您在函数内创建新变量以他们试图做的特定方式。
解决了上述问题后,您未解决的外部符号问题就会消失。