VAPS XT入门教程09:软件目录
系列索引:VAPS XT入门教程索引
安装完成之后,我们来看一下程序目录中都有什么。
VAPS XT默认安装位置为C:\Presagis
- flexlmCRO 是激活工具所在文件夹
- VAPS_XT_4_1 是主程序所在文件夹,一般为VAPS_XT_版本号
flexlmCRO
可以看到里面包含Presagis激活工具,以及依赖的Imtools,mpicro.lic是Presagis激活工具将wri格式证书解析后生成的,VAPS XT主程序也会验证这个证书。
可以看到激活工具使用的是FlexLM,然后使用Qt在外面又套了一层。
platforms
此目录中只有一个qwindows.dll,是Qt的平台库。
VAPS_XT_4_1
- bin 包含程序和依赖的dll库
- Borrowing_Utilities 从名字就可以看出是用来借什么的,用来借证书,但是借什么证书、怎么借证书因为没有使用过所以不做过多介绍
- Configs 配置文件
- Docs 官方开发手册,包含pdf和chm版本
- lib 设计的程序所依赖的静态库
- obj 设计的程序所依赖的静态库.o文件
- Projects 示例工程
- src 开发、编译、移植所需要的源码
- Temp 依赖库编译时临时文件所在的文件夹
- Tutorials 教程
- VAPSXTDTD 模板
bin
此目录中包含所有的可执行程序比如主程序VapsXT.exe、代码生成器CodeGen.exe,以及程序运行时需要的动态链接库.dll
此目录在软件安装时会自动添加到系统环境变量,如果没有,那么程序运行时会报错
Borrowing_Utilites
如果证书是浮动的,需要连接服务器才能正常使用,但是我需要离线使用,那该怎么办?
很简单,从浮动证书中借一段时间,既然是借的,那么有效期肯定短,一般为15天。到期后证书失效,但是可以再借。
Configs
- Catalogs
- DOORSScripts 与doors交互接口脚本
- RootProjects 基于dtd文件创建的文件模板
- Targets 各个平台对应的配置文件
- UserConfiguration
这里着重介绍一下Target子目录。
此文件夹中的每一个cfg文件对应着一个平台的配置,比如设置头文件
1 |
|
是否启用某个功能
1 |
|
在此配置文件中可以设置
- 程序名
- 使用的OpenGL版本
- 目标平台名称
- 编译器程序名
- 编译器参数
- 启用的功能
- 头文件位置
- …
Docs
这个就没啥好说的,里面有各种函数的用法,各种控件的用法,以及简单的教程,全英文
主要是pdf和chm格式
lib
里面包含按照平台编译的静态库
wogl就表示windows opengl
里面都是根据源码编译的静态库,此文件夹中是VAPS XT依赖的底层依赖库,当我们通过VAPS XT编辑器开发自己的界面并编译时,编辑器会根据cfg的配置信息自动链接静态库。如果需要的静态库没有,那么编辑器会提示报错并结束编译。
obj
此文件夹的文件结构和lib类似,只是最终的文件是.obj格式的
在编译源码的时候,有的控件或者功能代码无法编译为静态库或者这个功能是其他静态库共用的就会编译为.obj文件
obj格式也是Windows下编译中间文件,编译器会把多个obj合并为lib文件
Projects
- Examples 包含VAPS XT提供的官方示例工程
- StandardElements 此文件夹中包含官方写好的常用的控件,此文件夹中的所有控件会显示在VAPS XT编辑器的Toolbox中
- StanardRootProjects 里面包含新建一个空白工程需要的所有文件:根工程文件、DataIO文件、Tables文件。官方示例工程的根工程文件也在这个文件夹
src
VAPS XT运行的操作系统要求很高,一般都是指定的平台和操作系统,我们学习、测试使用的当然普通的就可以了。
VAPS XT编辑器是Windows下的,如果要移植到其他操作系统中,那么支持VAPS XT底层运行的依赖库就需要使用对应平台的编译器进行重新编译,如果每次移植都需要官方支持的话就太麻烦了。所以,官方提供了VAPS XT运行底层依赖库的源码,这样你可以根据编译器、操作系统、驱动支持情况进行自定义修改。而这个源码就位于src文件夹下
最重要的是Ports子文件夹
- Display 显示方式,目前只有OpenGL/OpenGL ES
- OS 不同系统 Win32 Linux VxWorks
- Target 不同平台 Windows 树莓派 Linux VxWorks
Ports/Display目录
不同运行环境使用的OpenGL类型不一样,OpenGL一般是操作系统和显卡提供的驱动提供,每种OpenGL独立实现绘制点/线/圆/字体/弧/纹理的OpenGL函数,并对外提供统一接口,此文件夹编译完成后静态库为vxtPLDisplay.lib
Ports/OS目录
不同的操作系统独立实现内存操作、文件操作、数学、字符串、系统相关、异常报错等函数并对外提供统一接口,此文件夹编译完成后静态库为vxtPLOSFoundation.lib
Ports/Target目录
按照不同的操作系统,独立实现任务管理、鼠标驱动、窗口显示、窗口管理、设备管理等操作函数并对外提供统一接口,此文件夹编译完成后静态库为vxtPLTarget.lib
注意,除了Windows平台外,其他平台的代码窗口显示部分可能是空的,需要自己实现,毕竟不同平台驱动接口可能不一样
VAPS XT程序运行与系统之上,不同系统显示窗口的方式不一样,不同系统使用的OpenGL类型不一样,不同OpenGL绘图的函数不一样。当这些函数决定之后,在统一的接口之上开发VAPS XT自己的显示方式,这样不管怎么移植都可以正常运行。
其余的目录下也是源码,但是我们一般不用做修改,当然你要是该BUG的话另说。
Temp
这个文件夹刚安装完是没有的,只有你编译依赖库源码才会有,毕竟只有编译才会生成.o文件,这些.o文件会被链接为.a文件放置于Lib文件夹,所以这个文件夹一般没用。
文件结构为
1 |
|
Tutorials
里面有
- 参考手册中最基本教程的程序和视频教程
- nCom的两种写法
VAPSXTDTD
VAPS XT4.1使用的是VapsXT_18.dtd,文件夹中的之前的版本用于VAPS XT编辑器兼容之前的版本。
dtd文件定义的VAPS XT使用的所有格式文件的模板,工程的所有文件都必须满足模板中定义的模式。
如果版本不对或者模板不满足就是报错或者添加删除内容直到符合模板要求。
下一篇:VAPSXT入门教程10:架构
技术交流群,欢迎加入讨论。这个圈子很小,大佬可能没兴趣加这些群聊社区之类的。所以只能带你入门,当然,欢迎大佬指导