Как мне включить / связать DLL-файл при использовании командной строки Visual C 2010

#windows #api #visual-c #dll

#Windows #API #visual-c #dll

Вопрос:

Я пытаюсь скомпилировать библиотеку DLL в командной строке VC 2010, и одна из функций, которые я использую, находится в urlmon.dll. Как мне связать эту библиотеку DLL с моим исходным файлом? (Это всего лишь одинcpp-файл). Я попытался поместить dll-файл в ту же папку. Нужен ли мне вместо этого lib-файл?

В настоящее время я просто запускаю: cl -LD filename

Я пытался погуглить, но безуспешно. Спасибо тем, кто посмотрел.

Комментарии:

1. Используйте шаблон проекта, чтобы сделать это правильно. Добавьте «urlmon.lib» к входным данным компоновщика дополнительные настройки зависимостей.

2. @Hans: Использование IDE не сделает это проще. Ему просто нужно . вместо этого используется файл lib, поскольку вопрос уже обсуждался.

3. Хм, давайте сохраним эту команду link в секрете.

Ответ №1:

Необходимо установить ссылку на библиотеку импорта urlmon.lib. Невозможно напрямую связать с DLL. (Единственный другой способ получить функции из библиотеки DLL в отсутствие «библиотеки импорта» для этой библиотеки DLL — это использовать такие функции, как LoadLibrary и GetProcAddress, для поиска, загрузки и извлечения конкретной функции, которую вы хотите.)

Ответ №2:

Поместите эту строку в свой исходный файл:

 #pragma comment(lib, "urlmon")
  

Ваш исходный файл уже использует функции urlmon, поэтому имеет смысл перечислить библиотеку рядом.