新建了一个MFC工程后,需要调用一个外设,外设自带了上位机软件,但是封装成了lib和dll(dll是一个动态链接库,里面封装着一些保密的源代码,lib是编译的时候告知编译器dll文件中的函数位置与入口——指动态链接)网上的教程一般都是从工程建立开始的,对于已经存在的项目将会很麻烦,本文将讲述如何在已经生成的工程中添加dll和lib。
对于VS2015,我们通过修改项目属性的方式告知工程dll和lib以及头文件所在的文件夹,然后在自己的工程里面就可以调用了;
1 打开属性菜单
选中本工程属性即可:
2 添加头文件所在目录
lib提供了dll中的函数的入口和位置,.h提供了动态库中函数的声明,在常规选项中添加附加包含目录的地址:
2.1 ..\Include
..\Include;的意思就是exe所在的位置向上两层的位置,..\就是两层,.\就是一层:
可见exe位于debug文件夹,debug文件夹位于Hello_Lite文件夹,所以恰好是两层,如果存储层数对应不上,就会找不到lib文件:
1>LINK : fatal error LNK1104: 无法打开文件“IQmeasure.lib”
2.2 %(AdditionalIncludeDirectories)
这个是一个宏定义,是VS自动生成的,目的是“查缺补漏”防止错过某一个位置,具体值获取的方法参照:
https://blog.csdn.net/Mr_liu_666/article/details/106555828
3 添加lib和dll问价所在文件夹
添加了.h问价之后需要添加dll和lib文件位置,以便编译器找到调用的动态库函数位置,在链接器-常规中添加附加库目录地址:
3.1 ..\Bin;..\Lib;
情况和上文相同,也是向上两层目录。
3.2 %(AdditionalLibraryDirectories)
参照https://blog.csdn.net/Mr_liu_666/article/details/106555828
4 添加附加依赖项
将需要包含到工程的lib问价地址添加进工程,这一步真正添加了lib,而lib的位置来自上一节的目录位置,链接器-输入-附加依赖项即可添加:
4.1 IQmeasure.lib;
需要添加进来的lib文件名。
4.2%(AdditionalDependencies)
一个宏定义,参照上文。
5 调用动态库中的函数,开始调试
至此dll和lib已经添加进工程,可以调用相应函数开始调试了。
编译通过,调试开始。