Как мне ссылаться на DLL в проекте VC ++ - PullRequest
7 голосов
/ 06 января 2009

У меня есть драйвер C ++, который я пытаюсь скомпилировать, и он имеет следующую строку в коде:

#import "msado15.dll" no_namespace rename("EOF", "EndOfFile")

Но когда я компилирую проект, я получаю сообщение об ошибке:

Ошибка 1: фатальная ошибка C1083: Невозможно открыть файл библиотеки типов: 'msado15.dll': Нет такого файла или каталога

У меня есть DLL, но куда мне ее поместить, чтобы компилятор мог ее увидеть?

Ответы [ 6 ]

19 голосов
/ 06 января 2009

Вы можете поместить DLL в тот же путь, что и файл ссылки (.h), как вы это сделали, или вы можете изменить дополнительные пути включения для раздела LIB вашего проекта (-ов). В VC ++ это будет:

Проект | Свойства | Свойства конфигурации | Линкер | Генерал | Дополнительные библиотечные каталоги

Этот метод может быть полезен, если вы централизуете сторонние зависимости и не хотите, чтобы синхронизированный файл (.h) и DLL синхронизировались по одному и тому же пути.

См. Эту ссылку MSDN для получения дополнительной информации.

3 голосов
/ 21 июля 2011

Для VC ++ 2010 (VS2010): компилятор не может видеть msado15.dll
который находится в C: \ Program Files \ Common Files \ System \ ado

Перейти к проекту | Свойства | Свойства конфигурации | Каталоги VC ++ и добавьте следующее в исполняемые каталоги

$ (CommonProgramFiles) \ System \ лукаво;

С тобой все будет в порядке

2 голосов
/ 18 июня 2013

Это может быть немного устаревшим для большинства людей, однако - для Visual Studio 2008, для конкретного

Проект |
Свойства конфигурации |
C / C ++ |
Дополнительные каталоги включения |

Выберите и нажмите на многоточие (...).

Добавить каталог

C:\Program Files\Common Files\System\ado

и переместите его в конец списка, используя стрелки.

0 голосов
/ 30 сентября 2015

Попробуйте установить «отложенную загрузку DLL» (или аналогичную опцию) в разделе «Свойства проекта» -> «Линкер» -> «вход» вашего проекта VC ++.

0 голосов
/ 06 января 2009

Для этого вам нужны библиотечные файлы и заголовки определений функций. Если у вас их нет, попробуйте динамически загрузить DLL, используя LoadLibrary и GetProcAddress, указатели для связывания функций.

0 голосов
/ 06 января 2009

ОК, нашел его, прочитав документацию. Мне просто нужно было поместить его в ту же папку, что и указанный файл (который находился в другом месте, чем исходный код проекта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...