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

时间:2012-10-25 20:01:19

标签: c++ visual-studio-2012

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

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

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

4 个答案:

答案 0 :(得分:4)

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

enter image description here

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

如果你想调用那个DLL中的函数,那么是的,你可能想要包含该DLL的头文件。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

您可以在此处查看文档:{​​{3}}(创建和使用动态链接库)

答案 3 :(得分:-1)

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

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

这就是全部。