Использование Visual C ++ 2008 Express Edition. Я связываю свое приложение с библиотекой импорта (.lib
) для библиотеки DLL, которая может присутствовать или не присутствовать в целевой системе. Прежде чем вы спросите: я не могу распространять DLL с моим приложением.
Если DLL отсутствует, как только я вызываю функцию из DLL (но не раньше!), Я получаю сообщение типа
Это приложение не удалось запустить, поскольку SomeLibrary.dll не был найден. Повторная установка приложения может решить эту проблему.
Вместо этого я хочу, чтобы приложение обнаруживало, что библиотеки DLL нет, и просто отключало функции, которые от нее зависели. Я мог бы позвонить на LoadLibrary
и посмотреть, получилось ли это, но я не уверен, достаточно ли этого. Может быть, библиотека импорта делает больше закулисной работы?
Достаточно ли простого LoadLibrary
вызова? Если нет, что еще мне нужно сделать? Можно ли это сделать?
Обновление : Конечно, я могу использовать LoadLibrary
, а затем GetProcAddress
для каждой функции, которую я хочу использовать. Но это хлопотно, и я надеялся избежать этого и просто использовать вместо этого предоставленную библиотеку импорта.