如何在c ++中包含,加载和使用.dll

时间:2014-11-17 20:01:05

标签: c++ dll webcam-capture

我不熟悉在c ++中使用.dll,我正在尝试在我的代码中加载.dll文件。 dll是"极其简单的捕获API"或escapi.dll。我从.dll获取的网站没有包含带有.dll的库文件,并且考虑到我不知道如何使用库文件加载.dll,尝试在没有它的情况下执行它是非常困难的。我只想在计算机上拍摄网络摄像头快照并在屏幕上显示图像。

我在.dll中使用的函数是:

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

如果有人可以在没有.lib文件的情况下向我提供有关如何包含此.dll的简单说明,我将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

我查看了ESCAPI的下载,它拥有您所需要的一切。只需在项目中包含escapi.cpp并调用setupESCAPI即可。 setupESCAPI为您加载DLL。您还需要将DLL放在与可执行文件相同的文件夹中。

答案 1 :(得分:0)

链接到DLL的优雅方式是动态的。然后,不需要LIB文件,您可以进行更好的错误管理。这篇文章很好:

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

你基本上做的是用C ++创建你想在DLL中调用的函数的原型。 (不完全是原型,但你可以用同样的方式来考虑它们)

然后调用LoadLibrary加载DLL,并调用GetProcAddress将原型链接到DLL中的每个函数。

然后你可以打电话给你的'功能' (原型) - 它们将附加到DLL中的函数