我创建了一个带有编译头的动态库,并编译了一个DLL(使用Visual Studio 2012)。
我还有一个用Visual Studio 2012制作的C ++项目,我想引用之前生成的DLL。
如何在Visual Studio 2012 C ++项目中引用该(动态库)DLL?如果我想使用库的功能,我是否还需要指向头文件(.h)?
答案 0 :(得分:4)
我发现使用项目属性对话框中的Framework and References
项引用DLL项目最简单:
看起来你在你的C ++本机代码中添加了一些奇怪的.Net东西,但它也是本机代码项目引用另一个的最简单方法。
如果你想调用那个DLL中的函数,那么是的,你可能想要包含该DLL的头文件。
答案 1 :(得分:1)
有几种方法可以做到这一点但是所有人都需要在项目中包含标题,以便知道函数,因为C ++没有反射。
您可以跳过静态链接并使用LoadLibrary加载dll并使用GetProcAddress获取函数,这样做的好处是可以使DLL可选。如果不存在,您可以避免调用它或提供一些用户友好的错误消息。
你可以静态链接到dll,这意味着将dll的.lib文件添加到你的项目中,有几种方法可以做到这一点,旧学校的方法是将它添加到你的解决方案的属性中/ linker / input / additional dependencies,然后确保dll在exe搜索路径中。如果找不到,您将收到错误消息。
答案 2 :(得分:0)
您可以在此处查看文档:{{3}}(创建和使用动态链接库)
答案 3 :(得分:-1)
我可以给你一个关于如何在VS 2010中添加dll的答案
步骤: 右键单击解决方案资源管理器,属性,配置属性,常规,输出目录。 在这里按右箭头选择眉毛。 眉毛到DLL目录。
这就是全部。