由静态库生成动态库,再对动态库隐式调用
以项目lib7zMT为例
1.首先将原本静态库的配置属性改为如下图1所示,重新生成就可以找到动态库和它的导入库,如图2
图1
图2
2.调用上一步生成的导入库lib7zMT.lib,如图3所示,将调用lib库的头文件7zppMT.h包含在测试程序中,如图4所示。
图3
图4
3.运行测试程序,会报错,test.cpp里面的一些函数unsolved。解决办法是在声明这些函数的头文件里面把这些函数改为导出的函数,如图5所示。再重新生成动态库。
图5
4.运行测试程序,提示如图6所示的错误,解决办法是将lib7zMT.dll放在与test.exe同一目录下,如图7所示。
图6
图7
5.再次运行程序,大功告成
VS2015由静态库生成动态库,再对动态库隐式调用
最新推荐文章于 2022-12-16 17:04:58 发布
本文介绍了如何将静态库转化为动态库,并在C++程序中进行隐式调用的步骤。首先修改静态库配置生成动态库,然后在测试程序中引入头文件并链接动态库。遇到未解析外部符号的错误时,需要将函数声明为导出函数。最后,为了解决运行时找不到动态库的问题,需要将DLL文件与可执行文件放在同一目录下。通过这些步骤,成功实现了静态库到动态库的转换和调用。
摘要由CSDN通过智能技术生成