当前位置:  开发笔记 > 编程语言 > 正文

Visual C++中的DLL引用

如何解决《VisualC++中的DLL引用》经验,为你挑选了1个好方法。

我有C++经验但不是MSVC.

我想要做的是将来自开源项目的.dll合并到我的项目中.代码可用,我已经构建了它.我有.dll以及.lib,据我所知它是C++项目所必需的.

现在很遗憾没有简单的"添加引用",将我的.dll放入include目录并将其添加到我的解决方案中.我编辑了项目属性页面,C/C++ Additional Include Directories选项以及添加.lib作为附加链接器依赖项.我在解决方案树中为dll和lib创建了一个include目录.

我的问题是当我尝试从文档中包含头文件时,VS输出会发出错误消息.现在我意识到我正在使用dll/lib组合,并且我的解决方案中没有.h文件,所以如何添加正确的包含?我正在使用QT工具包,但是我如何从开源库中添加其他头文件/ dll使我失望.

有人可以指出我正确的方向.



1> 小智..:

您需要做一些事情才能使用该库:

    确保您要使用的库中包含*.lib和*.dll.如果您没有*.lib,请跳过#2

    在项目中引用*.lib的引用.在解决方案资源管理器中右键单击项目名称,然后选择配置属性 - >链接器 - >输入,并将lib的名称放在Additional Dependencies属性中.

    您必须确保VS可以找到刚刚添加的库,因此您必须转到"工具"菜单并选择"选项"...然后在"项目和解决方案"下选择"VC++目录",编辑"库目录"选项.在此处,您可以通过选择"Show Directories For:"下拉框中的"Library Files"来设置包含新lib的目录.只需在目录列表中添加lib文件的路径即可.如果你没有lib,你可以省略它,但在这里你还需要在'Include Files'下设置包含头文件的目录.这样做就像添加lib一样.

这样做之后你应该很高兴可以使用你的图书馆.如果你没有lib文件,你仍然可以自己导入它来使用dll.在应用程序启动期间,您可以通过调用LoadLibrary显式加载DLL(请参阅:http://msdn.microsoft.com/en-us/library/ms684175(VS.85 ).aspx了解更多信息)

干杯!

编辑

请记住使用#include 而不是#include"foo.h".前者搜索包含路径.后者使用本地项目文件.


完美答案.我只是想添加一个更新:在VS 2010中,第3步已经改变了一点; 现在,在解决方案资源管理器中右键单击项目,选择"属性",然后转到"配置属性">"VC++目录".
如果我错了,请纠正我,但我认为我们还必须确保在运行时可以找到.dll文件.一种简单的方法是将.dll文件复制到与解决方案的.exe相同的目录.[有关详细信息,请参阅此处](http://stackoverflow.com/questions/4953843/why-cant-visual-studio-find-my-dll).
自VS 2010以来,步骤3可能无效."VC++ Directores现在可用作默认添加到所有项目的用户属性表".
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有