繁体   English   中英

如何在Visual Studio 2012 C ++项目中引用(动态库)DLL?

[英]How to reference a (Dynamic Lib) DLL in a Visual Studio 2012 C++ project?

我创建了一个带有编译头的动态库,并编译了一个DLL(使用Visual Studio 2012)。

我还有一个与Visual Studio 2012一起制作的C ++项目,我想引用之前生成的DLL。

如何在我的Visual Studio 2012 C ++项目中引用该(动态库)DLL? 如果我想使用库的功能,是否还需要指向头文件(.h)?

我发现使用项目属性对话框中的Framework and References项引用DLL项目最简单:

在此输入图像描述

看起来你在你的C ++本机代码中添加了一些奇怪的.Net东西,但它也是本机代码项目引用另一个的最简单方法。

如果要调用该DLL中的函数,则是,您可能希望包含该DLL的头文件。

有几种方法可以做到这一点,但所有人都需要在项目中包含标题,以便函数是已知的,因为C ++没有反射。

  1. 您可以跳过静态链接并使用LoadLibrary加载dll并使用GetProcAddress获取函数,这样做的好处是可以使DLL可选。 如果不存在,您可以避免调用它或给出一些用户友好的错误消息。

  2. 你可以静态链接到dll,这意味着将dll的.lib文件添加到你的项目中,有几种方法可以做到这一点,旧学校的方法是将它添加到你的解决方案/链接器/输入/附加属性中依赖项,然后确保dll在exe搜索路径中。 如果找不到,您将收到错误消息。

您可以在此处查看文档: http//msdn.microsoft.com/en-us/library/ms235636 (v = vs.80).aspx (创建和使用动态链接库)

我可以给你一个关于如何在VS 2010中添加dll的答案

步骤:右键单击解决方案资源管理器,属性,配置属性,常规,输出目录。 在这里按右箭头选择眉毛。 眉毛到DLL目录。

就这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM