Qt·代码封装成dll文件及所生成dll文件的使用

开发环境:Qt5.8.0+Qt Creator

一、代码封装成dll文件

  • 步骤一:创建工程


    这里写图片描述
    图1:创建生成dll的工程


    这里写图片描述
    图2


    这里写图片描述
    图3


    这里写图片描述
    图4: 此处需要勾选QtCore,因为后面需要使用该库内 QtCore/qglobal.h文件中的 Q_DECL_EXPORT


    这里写图片描述
    图5


    这里写图片描述
    图6


    这里写图片描述
    图7:创建生成的工程目录

点击运行按钮测试是否可以成功运行,如果出现下图提示则说明运行成功。如果当前运行模式是debug,则在对应的debug目录下会看到生成库文件;如果运行模式是release,则在对应的release目录下会看到生成的库文件:


这里写图片描述
图8:


这里写图片描述
图9:生成的库文件

注意: debugrelease 两种模式下生产的文件是在各自生成目录下的,即两种运行模式下生成的文件分别会在如图10中的不同位置: ***debug/debug/***release/release/debug 模式下就去如图10中的***debug文件夹下的debug文件夹下找生成的库文件,release 模式下就去如图10中 ***release 文件夹下的 release 文件夹下找生成的库文件:


这里写图片描述
图10

  • 步骤二:工程内添加内容
    1.在创建的makedll.h文件中添加函数声明int sum(int x, int y);


    这里写图片描述
    图11

    2.在创建的.cpp文件中添加函数实现:


    这里写图片描述
    图12

  • 步骤三
    点击运行按钮,就会生成封装好的dll文件,在对应的debug或者release目录下可以看到生成好的文件。

二、dll文件使用

  • 步骤一:创建测试工程
    创建测试dll库文件的工程


    这里写图片描述
    图13

  • 步骤二:修改.pro文件

    1.在.pro文件中添加:QT += core ,并注释掉 CONFIG -= qt
    2.在.pro文件中引用封装生成的.dll动态链接库LIBS += ***\MakeDll.dll,其中*** 表示上面封装生成的.dll文件保存的路径


    这里写图片描述
    图14

  • 步骤三:拷贝.h文件
    把生成dll文件工程中的所有.h文件拷贝到当前工程目录下,笔者需要拷贝的即是:makedll.hmakedll_global.h 两个.h文件,如下图所示:


    这里写图片描述
    图15

  • 步骤四:修改测试工程的main.cpp文件调用dll库


    这里写图片描述
    图16

  • 步骤五:拷贝封装生成.dll库文件
    现在点击运行按钮,执行程序,可能会出现如下错误提示,该提示说明动态链接生成的.dll库文件失败:


    这里写图片描述
    图17

    解决方法:把生成的.dll文件拷贝到测试工程生成的.exe同级目录下,如下图所示:


    这里写图片描述
    图18

  • 步骤六:运行测试程序
    现在再次点击运行按钮进行测试,则运行成功:


    这里写图片描述
    图19


Finished

猜你喜欢

转载自blog.csdn.net/u010189457/article/details/80492873