Исходный код библиотеки может объявить символ без определения , выполнив что-то вроде этого
extern InvalidateImage(const char *);
, а затем используя его
const char *foo = InvalidateImage(bar);
Поскольку это библиотека, вы не заметит этого, пока вы не попытаетесь запустить программу, использующую этот символ. Место, где искать символ , - это место, где вы загрузили исходный код библиотеки: вероятно, разработчик этой библиотеки предоставляет либо связанный источник напрямую, либо некоторые подсказки относительно того, откуда они его получили.
Как бы то ни было, я использую сценарии ( exports
и externs
) для проверки отсутствующих символов в программах, которые я поддерживаю.
Дополнительная литература: