У меня возникли проблемы с установкой связи программы в Windows с VC2008 SP1. Я явно специализирую функцию-член шаблона в DLL, которая правильно отображается как экспортированный символ в обходчике зависимостей, для правильного типа и с правильными аргументами.
Когда я пытаюсь вызвать символ из .exe, компоновщик жалуется, что не может разрешить символ (хотя он компилирует объект нормально), однако оформленное имя символа, в котором говорится, что он не может разрешить, точно соответствует оформленное имя экспортируемого символа в моей DLL (при просмотре с помощью обходчика зависимостей) Проблема возникает только для явно специализированных экспортируемых функций-членов шаблона. Если я прокомментирую вызовы к ним, все остальные классы экспортируемых функций будут связываться нормально, поэтому .lib выглядит так, как будто он генерируется нормально.
Я попытался изменить свое объявление функции шаблона в заголовках, чтобы включить директиву extern, и в нем правильно указан обычный __declspec (dllimport), но это не имеет значения.
Любые идеи приветствуются. Спасибо.