[英]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 ++没有反射。
您可以跳过静态链接并使用LoadLibrary加载dll并使用GetProcAddress获取函数,这样做的好处是可以使DLL可选。 如果不存在,您可以避免调用它或给出一些用户友好的错误消息。
你可以静态链接到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.