Ганс, совет по поводу файла * .map был спасением жизни: это позволило мне узнать, в каком файле должна быть найдена упомянутая функция.
Очевидно, что это еще не конец: упомянутый файлбыла DLL, в то время как нет ссылки на саму DLL, но на файл LIB, который перенаправляет на DLL.
В случае, если это не достаточно сложно: сама функция была функцией __imp_
, и, кажется,чтобы быть здесь подвохом:
- 32-бит:
__imp__
функции (смотреть оба подчеркивания после imp
) - 64-бит:
__imp_
функции (смотреть одиночныйподчеркивание после imp
)
Наконец, я решил проблему, проверив выходные данные сборки (сравните записи LIB=
и PATH=
и убедитесь, что они одинаковы для обоих случаев: при наличии ссылкина 32-битные библиотеки в одном выводе должна быть ссылка на 64-битные библиотеки в другом выходе).
В 32-битном выводе я увидел, что компоновщик ссылается на библиотеку, которую онНе делай в случае 64-битной компоновки: я добавил соответствующую библиотеку в конфигурацию проекта (свойства конфигурации, компоновщик, ввод, дополнительные зависимости), и это окончательно решило проблему.