VAPS XT入门03:程序目录说明

系列索引:VAPS XT入门系列索引

安装完成之后,我们来看一下程序目录中都有什么。

VAPS XT默认安装位置为C:\Presagis

presagis
  • flexlmCRO 是激活工具所在文件夹
  • VAPS_XT_4_1 是主程序所在文件夹,一般为VAPS_XT_版本号

flexlmCRO

flexlmCRO

可以看到里面包含Presagis激活工具(可以看到是Qt开发的),以及依赖的Imtools,mpicro.lic是Presagis激活工具将wri格式证书解析后生成的,VAPS XT主程序也会验证这个证书

VAPS_XT_4_1

vapsxt
  • bin 包含程序和依赖的dll库
  • Borrowing_Utilities 从名字就可以看出是用来借什么的,依赖借证书,但是借什么证书、怎么借证书因为没有使用过所以不做过多介绍
  • Configs 配置文件
  • Docs 官方开发手册,包含pdf和chm版本
  • lib 设计的程序所依赖的静态库
  • obj 设计的程序所依赖的静态库.o文件
  • Projects 示例工程
  • src 开发、编译、移植所需要的源码
  • Temp 依赖库编译事临时文件所在的文件夹
  • Tutorials 教程
  • VAPSXTDTD 模板

bin

bin

此目录中包含所有的可执行程序比如主程序VapsXT.exe、代码生成器CodeGen.exe,以及程序运行时需要的动态链接库.dll

此目录在软件安装时会自动添加到系统环境变量,如果没有,那么程序运行时会报错

Configs

configs
  • Catalogs
  • DOORSScripts 与doors交互接口脚本
  • RootProjects 基于dtd文件创建的文件模板
  • Targets 各个平台对应的配置文件
  • UserConfiguration

Targets

targets

此文件夹中的每一个cfg文件对应着一个平台的配置,比如设置头文件

1
INCLUDE=path

是否启用某个功能

1
is_support_png=no

在此配置文件中可以设置

  • 程序名
  • 使用的OpenGL版本
  • 目标平台名称
  • 编译器程序名
  • 编译器参数
  • 启用的功能
  • 头文件位置

Docs

这个就没啥好说的,里面有各种函数的用法,各种控件的用法,以及简单的教程,全英文

lib

lib

里面包含按照平台编译的静态库

wogl就表示windows opengl

wogl

里面都是根据源码编译的静态库,此文件夹中是VAPS XT依赖的底层依赖库,当我们通过VAPS XT编辑器开发自己的界面并编译时,编辑器会根据cfg的配置信息自动链接静态库。如果需要的静态库没有,那么编辑器会提示报错并结束编译。

obj

此文件夹的文件结构和lib类似,只是最终的文件是.obj格式的

obj

在编译源码的时候,有的控件或者功能代码无法编译为静态库或者这个功能是其他静态库共用的就会编译为.obj文件

Projects

projects
  • Examples 包含VAPS XT提供的官方示例工程
  • StandardElements 此文件夹中包含官方写好的常用的控件,此文件夹中的所有控件会显示在VAPS XT编辑器的Toolbox中
  • StanardRootProjects 里面包含新建一个空白工程需要的所有文件:根工程文件、DataIO文件、Tables文件。官方示例工程的根工程文件也在这个文件夹

src

之前我们说过VAPS XT的架构

arch

硬件平台一般我们不用管,现在应该没有谁是从零开始搭建的硬件环境

VAPS XT运行的操作系统要求很高,一般都是指定的平台和操作系统,我们学习、测试使用的当然普通的就可以了。

OpenGL一般是操作系统和显卡提供的驱动提供

VAPS XT编辑器是Windows下的,如果要移植到其他操作系统中,那么支持VAPS XT底层运行的依赖库就需要使用对应平台的编译器进行重新编译,如果每次移植都需要官方支持的话就太麻烦了。所以,官方提供了VAPS XT运行底层依赖库的源码,这样你可以根据编译器、操作系统、驱动支持情况进行自定义修改。而这个源码就位于src文件夹下

src

最重要的是Ports文件夹

ports
  • Display 显示方式
  • OS 不同系统
  • Target 不同平台

Display

disply

不同运行环境使用的OpenGL类型不一样,每种OpenGL独立实现绘制点/线/圆/字体/弧/纹理的OpenGL函数,并对外提供统一接口,此文件夹编译完成后静态库为vxtPLDisplay.lib

OS

os

不同的操作系统独立实现内存操作、文件操作、数学、字符串、系统相关、异常报错等函数并对外提供统一接口,此文件夹编译完成后静态库为vxtPLOSFoundation.lib

Target

target

按照不同的操作系统,独立实现任务管理、鼠标驱动、窗口显示、窗口管理、设备管理等操作函数并对外提供统一接口,此文件夹编译完成后静态库为vxtPLTarget.lib

注意,除了Windows平台外,其他平台的代码窗口显示部分可能是空的,需要自己实现,毕竟不同平台驱动接口可能不一样

VAPS XT程序运行与系统之上,不同系统显示窗口的方式不一样,不同系统使用的OpenGL类型不一样,不同OpenGL绘图的函数不一样。当这些函数决定之后,在统一的接口之上开发VAPS XT自己的显示方式,这样不管怎么移植都可以正常运行。

Temp

这个文件夹刚安装完是没有的,只有你编译依赖库源码才会有,毕竟只有编译才会生成.o文件,这些.o文件会被链接为.a文件放置于Lib文件夹,所以这个文件夹一般没用。

文件结构为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Temp
|
|---Windows
|
|---Module1
|
|---file1.o
|---file2.o
|---Module2
|
|---file1.o
|---file2.o
|
|---Linux
|
|---Module1
|
|---file1.o
|---file2.o
|---Module2
|
|---file1.o
|---file2.o
...

Tutorials

tutorials

里面有

  • 参考手册中最基本教程的程序和视频教程
  • nCom的两种写法

VAPSXTDTD

dtd

VAPS XT4.1使用的是VapsXT_18.dtd,文件夹中的之前的版本用于VAPS XT编辑器兼容之前的版本。

dtd文件定义的VAPS XT使用的所有格式文件的模板,工程的所有文件都必须满足模板中定义的模式。

如果版本不对或者模板不满足就是报错或者添加删除内容知道符合模板要求。