C++类封装成DLL动态链接库
Posted zcmacbeth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++类封装成DLL动态链接库相关的知识,希望对你有一定的参考价值。
最近在进行OSG开发,想将里面模型导入部分重复使用的代码封装成DLL,这样后续不需要重复编写这部分代码。而C++类封装成DLL步骤如下:
1、 VS2015新建一个Win32项目,应用程序类型选择DLL
2、新建DLL项目后,项目解决方案文件结构如下:
3、配置OSG库
因为DLL使用到了osg库,所以项目首先要配置osg库,如下:
4、打开OSG.h头文件,进行代码编写修改
在头文件中加入OSG库的相关头文件,并且在类中进行函数和变量的声明,头文件如下(标红部分为添加代码):
5、在源文件中OSG.cpp中,添加类的函数相应的实现,如下(标红部分为添加代码):
6、在VS2015中按F7(生成解决方案)
如果编译成功,则输出如下
如果是在Debug环境下编译的,则在Debug目录下会生成DLL文件和lib文件;Release环境下同理。另外,如果封装后的DLL是在x64环境下的项目使用,则此处需要在Debug下的x64环境下生成。
7、分别在VS2015的项目相应位置配置OSG.h、OSG.lib、OSG.dll三个文件,我们就能使用封装类的方法了(参看笔记:VS的可执行文件目录、包含目录、库目录、附加包含目录、附加库目录、附加依赖项的解释和区别)。
PS:在编译成功生成DLL项目有,按Ctrl+F5 不调试执行,提示如下错误:
原因:
因为该DLL封装项目不是可执行项目,运行不了的。只要编译成功后,就完成了DLL的封装。
以上是关于C++类封装成DLL动态链接库的主要内容,如果未能解决你的问题,请参考以下文章