2014-11-17 4 views
0

Я новичок в использовании .dll в C++ и пытаюсь загрузить DLL-файл в свой код. DLL - это «Extestely Simple Capture API» или escapi.dll. Сайт, на котором я получил .dll, не включал файл библиотеки с .dll и считал, что не знаю, как загрузить DLL с файлом библиотеки, пытаясь сделать это без него, вдвойне сложно. я просто хочу сделать снимок с веб-камерой на компьютере и отобразить изображение на экране.Как включить, загрузить и использовать .dll в C++

функции, которые я использую из .dll сделать это являются:

int setupESCAPI(int height, int width); 
int initCapture(SimpleCapParams *capture); 
void doCapture(); 
void isCaptureDone(); 
void deinitCapture(); 

Если кто-то может дать мне простые инструкции о том, как включить этот .dll без файла .lib, я был бы признателен. Благодарю.

Dan

+0

Вы знаете, что любые функции вызываются внутри DLL? – Grantly

+0

Я добавил объявления функций, которые используются, и да, у меня есть .h-файл. –

+0

Является ли SimpleCapParams также в файле H? Если это так - тогда вам нужно будет воспроизвести это на C++ тоже ... Опубликуйте определение, если оно у вас есть, поэтому кто-то (или я) может ответить полностью – Grantly

ответ

1

Я смотрел на загрузку для Escapi и имеет все, что вам нужно. Просто включите escapi.cpp в свой проект и позвоните по телефону setupESCAPI. setupESCAPI загружает DLL для вас. Вам также нужно будет поместить DLL в ту же папку, что и ваш исполняемый файл.

+0

Джим, спасибо. Спасибо, отлично работал. Я не понял, что мне нужно включить файл .cpp в проект. Но теперь я испытываю технические трудности с функциональностью .dll. Другая проблема. Спасибо всем за помощь. –

0

Элегантный способ связи с DLL динамически. Тогда LIB-файл не требуется, и вы можете улучшить управление ошибками. Эта статья хорошая:

http://msdn.microsoft.com/en-us/library/ms810279.aspx

То, что вы в основном сделать, это создать прототипы в C++ функций, которые вы хотите, чтобы позвонить в DLL. (Не совсем прототипы, но вы можете думать о них одинаково)

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

Тогда вы можете позвонить «функции» (прототипы) - и они будут прикреплены к функциям в DLL