1.Qt中如何建立和使用动态链接库?
工具/原材料带有Qt集成开发环境的Windows或Linux。建立并生成动态链接库1。首先,在磁盘上的某个位置创建一个名为DllDemo的文件夹。打开QtCreator,创建一个新项目,选择库、C++库,然后选择。然后在弹出的C++库对话框中,共享库的默认类型命名为MyDll。该路径是刚刚创建的DllDemo文件夹。然后,继续执行下一步,直到您单击“完成”。3让我们看看程序结构和pro文件的内容。您可以看到系统自动生成了一个mydll_global.h
的文件。 pro内也自动生成了一些内容。可以看到TEMPLATE = lib,而不是平时的TEMPLATE = app。 4 再来看看mydll_global.h
的内容。 可以看到系统自动定义了两个宏。用于声明哪些函数是需要导出的。 5 下面来给代码添加点内容,以便于待会使用。 首先我们在
mydll.h
中添加几行代码, 注意:extern "C" MYDLLSHARED_EXPORT必须要有。 6 再来看看mydll.cpp
中的实现代码,都比较简单。 7 代码编写完毕后,直接构建就行了。然后就可以看到生成的dll了。 二、测试生成的DLL 1 新建一个基于Qt的控制台应用程序,名称为DllTest。依然放置在DllDemo的目录下。 2 建好了以后,就可以在主页面
写代码了。通过QLibrary类来加载dll。 因为要获得类对象的实例,所以需要将mydll.h
包含进来。 要注意的是,我没有对函数是否成功获取做检测。 来看看代码: 3 代码写完后就可以构建程序了。不过要运行程序,还需要将刚才生成的dll拷贝到程序的同级目录。 4 在IDE中运行程序,因为生成的是debug版的程序,相关的环境变量未设置,无法独立运行。 可以看到dll工作的很好,程序运行正常。 三、善用Assistant 1 最后来看看Assistant中关于QLibrary的描述。比较费解的是,Assistant中并没有对创建共享库做详细的说明,估计是这个太简单或资料太多了吧。2.移植到开发板的qt库?1.为了不影响以前的版本,建议您创建另一个名为Qt5.6-lib的目录(使用自定义名称)。
2.运行Qt5.6时,设置指定Qt库存的路径,即设置环境变量。
3.运行Qt5程序。
万向研发4.如果您仍然需要运行之前的Qt4,请重置Qt4的环境变量。
发表评论