3.5 KiB
之前章节,在对应目录,是生成了,qt dll 相关依赖文件
然后,需要在Unity工程,对应目录,生成以上qt相关的dll和依赖文件,先确认qt工程,所在目录;
在它的上一级的上一级,创建一个Unity工程,基于Unity 2019.3.6
创建完成后,记得把Unity工程关了,不然通过qt生成或者修改dll文件的时候,有可能会出现,占用的情况; 回到qt,注释之前的Output相关; 然后设定一下,dll的生成目录,是上上级,对应Unity工程的对应路径,需要注意的是,如果文件夹不存在,也会自动生成文件夹;
重新点击,构建按钮
可以看到,dll和文件夹,都顺利创建出来
复制所在路径
循例,基于64位MinGW编译器环境,cd和跳转盘符,抵达对应的文件夹
然后 windeployqt
完成依赖的自动生成
重新打开Unity工程,创建 JustTest
测试脚本
using
引用命名控件,还有 Serializable
可序列化类 InitData
也是包含,传递给qt的相关数据体;
通过DllImport的形式,写的是,对应dll的前缀名字,其中的方法,是在qt中export出来的Invoke触发器方法,再定一个enum枚举,包含Init和Quit俩元素,分别是初始化和退出SDK相关;
通过一个静态布尔isInit判断,是否已经初始化,最开始的时候,设置为false即可
再弄俩回调,也是分别对应,初始化和退出的,其中OnInit初始化回调,是会把上述静态布尔,设置为true,判断为,初始化成功;
在Start开始函数中,完成传参使用的,json数据体构建,然后Invoke触发,Init初始化,还有绑定回调OnInit;
在OnApplicationQuit退出函数中,也是根据isInit判断,Invoke触发qt sdk的Quit退出函数即可;
这样直接挂载脚本,运行unity的话,是会报错的,因为Unity.exe缺少qt相关的dll组件; 之前自动生成qt dll的时候,有一个qwindows的dll,需要复制拷贝到,Unity引擎所在目录;
复制拷贝后:
回到Unity,测试脚本挂载到,相机上
运行Unity,可以看到,加载qt相关dll,初始化的log回调,是正常的
初始化回调,对应qt的log输出,一致
然后,开始弄,硬件信息相关,参考Windows WMIC命令使用详解 先在这个目录,创建一个WMIC文件夹
然后,在该目录下,创建一个空白txt文件
修改文件后缀为pri
回到pro工程文件,添加include引用,保存修改
等待编译完成,可以看到,空白工程,就正常被引用进来了;