Получить компиляцию libexif в MSVC ++ - дело хакерское. Он использует функции, которые MSVC решил не реализовывать. См. Мой рабочий пример проекта VS2010 ниже (если вам не нравится скачивать файлы, перейдите к моему объяснению того, что нужно изменить, чтобы заставить его работать ниже):
https://www.dropbox.com/s/l6wowl8pouux01a/libexif-0.6.21_CompiledInVS2010%2BExample.7z?dl=0
Чтобы уточнить, проблемы, которые требовали "взлома" (как указано в документации по readme-win32.txt в LibExif):
Libexif использует inline в нескольких местах, которые не определены в VS для C, только C ++ (см. this )
Libexif использует snprintf, который не определен в VS (см. здесь )
Вам нужно создать config.h самостоятельно, без помощи команды ./configure. Вы можете прочитать сценарий, но большинство из них не имеет смысла для Windows VS2010.
Вам необходимо определить GETTEXT_PACKAGE, потому что он, вероятно, настроен в файле конфигурации. Я просто выбираю UTF-8, верно это или нет, я не уверен.
Произошло случайное статическое без знака *, которое необходимо было переместить из файла .c в файл .h, так как C в VS не позволяет создавать новые переменные внутри функций в конкретный способ, которым они пытались сделать.
Как только вы исправите вышеуказанные проблемы, ваши нерешенные проблемы с внешними символами должны исчезнуть.