QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


转自:http://blog.****.net/qq_34837137/article/details/52277447

今天终于解决如何使用动态库的方法:

  1. 首先我们先建立一个库文件:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


你可以选择更换库名,像我一样把它改为calculate,点击下一步:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


点击下一步,然后选择你的动态库所需要的模块,我选择了如下图:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)



再选择下一步:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)




再点击下一步,选择完成:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

你就会看到了:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


然后将calculate_glbbal.h中的如下图红色框里的代码复制到calculate.h里,并将calculate_glbbal.h头文件删除:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


可以编辑属于自己的代码了:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

点击构建里的qmake,然后重新构建时,你会遇到如下问题:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

原来我在calculate.h文件少添加红色库里的语句:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


重新执行构建里qmake和重新构建,就会遇到如下图,我可以不管它:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)



动态库基本构建好了,接下来我就要使用动态库了,有基础的小伙伴们就可以新建一个工程(写给刚刚接触QT的人):
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

下图所示的是:可以修改默认的名称


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


下图所示的你可以选择的类名的地方:


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

你点击完成看到的一个界面:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


然后请在建立动态库的地方查找,点击它:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

然后打开debug,(有时可能在release里,关键在于QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)选择了debug还是release)
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

将.dll 和 .lib 复制到 result文件里
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

也将calculate里的calculate.h复制
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)
复制到result文件里
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

接下来进入我被别人坑死的步骤:错误,可以跳过:


首先在result.pro 添加横线的语句:

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


正确的步骤:首先右击头文件,添加现有文件,选择calculate.h,添加横线的语句,
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


然后执行qmake 和构建,你会遇到:
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


在百度里你可能会找到正确的答案,但是你已经被坑几次了,像我一样,说起来就是一把辛酸泪啊!


接下来告诉你正确的打开的方式:


请将result的红框的内容复制到built_result里debug里
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

粘贴

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

然后右击result文件,选择添加库
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)

QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)






QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


如果你不删除红框里的,你会遇到E:\qt\build-result-Desktop_Qt_5_7_0_MSVC2015_64bit-Debug\debug\calculate.dll:-1: error: LNK1107: 文件无效或损坏: 无法在 0x378 处读取


QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)




只有删除后你才能正常的使用
QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)


如果你还有少许程序异常:



QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)



注意:


QT坑人一大亮点:如果你在构建过程中出现问题,你重新修改后确定没有错误的前提下,再运行可能还是相同的错误,那么你需要

清除----------重新执行qmake------重新构建