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

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

  1. 首先我们先建立一个库文件:






你可以选择更换库名,像我一样把它改为calculate,点击下一步:



点击下一步,然后选择你的动态库所需要的模块,我选择了如下图:




再选择下一步:





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



你就会看到了:




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




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






点击构建里的qmake,然后重新构建时,你会遇到如下问题:


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




重新执行构建里qmake和重新构建,就会遇到如下图,我可以不管它:




动态库基本构建好了,接下来我就要使用动态库了,有基础的小伙伴们就可以新建一个工程(写给刚刚接触QT的人):


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








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






你点击完成看到的一个界面:



然后请在建立动态库的地方查找,点击它:


然后打开debug,(有时可能在release里,关键在于 选择了debug还是release)


将.dll 和 .lib 复制到 result文件里



也将calculate里的calculate.h复制

复制到result文件里


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


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




正确的步骤:首先右击头文件,添加现有文件,选择calculate.h,添加横线的语句,






然后执行qmake 和构建,你会遇到:



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


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


请将result的红框的内容复制到built_result里debug里




粘贴



然后右击result文件,选择添加库


















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







只有删除后你才能正常的使用



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







注意:


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

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






  • 30
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
在Linux中,Qt Creator是一个强大的集成开发环境,用于开发跨平台的应用程序。在使用Qt Creator创建和调用动态时,需要经过以下几个步骤: 1. 首先,在Qt Creator中新建一个工程。选择“Dynamic Library”作为项目类型。 2. 在工程文件中,定义需要暴露给其他程序使用的函数和类。可以在.h头文件中声明函数和类的接口,并在.cpp源文件中实现相应的功能。 3. 编译生成动态文件。在Qt Creator中,可以点击“构建”按钮编译和链接生成动态文件。生成的动态文件一般以.so(shared object)为扩展名。 4. 创建一个新的可执行程序项目,并引用该动态。在新的项目中,需要在.pro文件中添加对动态的依赖关系。例如,可以使用LIBS += -L/path/to/library -lmylibrary来指定动态的路径和名称。 5. 在可执行程序中调用动态中的函数或类。在主函数或其他需要使用动态的地方,可以直接调用动态中定义的函数或类,实现相应的功能。 值得注意的是,动态的调用中还需要注意以下几点: 1. 在调用动态函数时,需要先加载动态。可以使用dlopen函数加载动态文件,并使用dlsym函数获取需要调用的函数指针。 2. 调用动态中的函数时,需要根据函数的参数类型进行适当的类型转换。因为动态函数的参数类型可能与调用者的类型不完全匹配。 3. 在完成动态使用后,需要使用dlclose函数关闭对动态的引用,释放相关资源。 总结来说,使用Qt Creator在Linux中创建和调用动态需要进行项目的设置、编译生成动态文件,然后在其他项目中引用动态并调用其中定义的函数或类。同时,还需要注意动态的加载和关闭过程,以确保正确使用动态功能。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值