• VAPS XT开发入门教程03:程序目录说明


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

    Presagis

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

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

    flexlmCRO

    flexlmCRO

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

    可以看到激活工具使用的是lmtools,然后使用Qt在外面又套了一层。

    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文件对应着一个平台的配置,比如设置头文件

    INCLUDE=path
    
    • 1

    是否启用某个功能

    is_support_png=no
    
    • 1

    在此配置文件中可以设置

    • 程序名
    • 使用的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文件夹,所以这个文件夹一般没用。

    文件结构为

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

    Tutorials

    tutorials

    里面有

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

    VAPSXTDTD

    dtd

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

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

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

  • 相关阅读:
    【23种设计模式】职责链模式(Chain of Responsibility Pattern) .Net Core实现
    【微搭低代码】小程序中获取当前城市信息
    【动画笔记】数据结构-AVL树的插入操作
    MTK OEM解锁步骤
    7.2-CM46 合法括号序列判断
    [附源码]java毕业设计校园拓展活动管理系统
    腾讯会议瞩目会议开启共享屏幕时候出现卡顿时候,是显卡问题。
    岑溪洁净实验室设计布局规划总结
    AR导览小程序开发方案
    为什么我建议在复杂但是性能关键的表上所有查询都加上 force index
  • 原文地址:https://blog.csdn.net/qq_26056015/article/details/126473015