• Open-Dis的C++版本编译(CMake-gpu 3.21.4)以及SDL2和SDL_net库的配置使用


    Open-Dis

    Open-Dis简介

    Dis是国防部,北约和联合国实时/虚拟世界建模和仿真中使用最广泛的协议之一。 Open-DISJavajavascriptpythonC ++C#中标准的免费开源实现。 该项目使用BSD风格的开源许可证,该许可证是非病毒式和商业友好的。
    在这里插入图片描述

    分布式交互仿真

    DIS是由仿真互操作性标准组织(SISO)开发并由IEEE批准的IEEE标准(IEEE-1278.1)。 它被广泛用于实时虚拟世界的军事模拟。

    DIS是一个网络协议。 它描述了几十个协议数据单元(PDU)的确切布局,其中包含有关世界中实体的位置和方向的信息等等。 这些是描述电子战物流碰撞模拟管理PDU

    更多资料

    更多资料请见官网或者github。
    官网链接 | github链接

    Open-Dis下载

    由于我平时使用的语言为C++/python。这里我以C++为例。下载地址:github点击直达 | CSDN免积分下载

    下载解压好之后,应该是这样的:
    在这里插入图片描述

    CMake编译教程

    我们打开刚刚下载好多文件中的README.md文件。查看官方推荐的编译方法。提供的环境较多。我这里以C++ + Visual Studio 为例。下面我贴出了该环境的编译过程。


    Windows with Visual Studio

    1. Open CMake (cmake-gui) via the the start menu.
    2. Enter the open-dis-cpp directory path into the Source and Build fields.
    3. Click the + Add Entry button and enter the following details:
      Name: SDL_INC_DIR
      Type: PATH
      Value: /include
      (if you follow the below SDL2 Windows Install Instruction this will be C:/SDL2/include)
    4. Click the + Add Entry button and enter the following details:
      Name: SDL_LIB_DIR
      Type: PATH
      Value: /lib/x64 (64 bit) or /lib/x86 (32 bit)
      (if you follow the below SDL2 Windows Install Instruction this will be C:/SDL2/lib/x64)
    5. Click Configure and follow the prompts, selecting the correct generator (i.e. Visual Studio version).
    6. Click Generate
    7. Click Open Project - This should open the generates solution file in Visual Studio
    8. Build the Solution (Ctrl + Shift + B)

    These steps were tested with Visual Studio 16 2019 (Community Edition).
    Currently, only OpenDIS 6 and the Example Applications compile.
    The library and executable files are output to a Debug directory.

    To run the executables, either the value of the SDL_LIB_DIR variable should be added to your path,
    or SDL2.dll and SDL2_net.dll need to be copied to the Debug directory.


    可以看到,在说明中需要有SDL2.dllSDL2_net.dll库。

    SDL2和SDL_net

    SDL介绍

    SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。当前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

    下载SDL

    下载地址: 官网直达 | CSDN免积分

    下载解压好打开应该是这样的:
    在这里插入图片描述

    配置SDL2

    将SDL2的文件夹直接放在D盘根目录。你可以放在任意位置,这就是一个库而已。
    注意 路径不能有中文。
    在这里插入图片描述

    下载SDL_net

    下载地址: CSDN免积分下载

    下载好应该是这样的:
    在这里插入图片描述

    配置SDL_net工程

    这里我们需要选择环境,选择VisualC即可。
    在这里插入图片描述
    然后点击SDL_net.sln项目启动文件
    在这里插入图片描述

    打开工程。
    在这里插入图片描述

    打开SDL2_net的项目配置
    在这里插入图片描述

    配置C/C++的附加库目录 。这里需要填写SDL库VS版本的头文件路径配置C/C++的【附加库目录】 。这里需要填写SDL库VS版本的头文件路径。
    在这里插入图片描述

    配置链接器 的【附加库目录】 这里需要设置到SDL2库VS版本的lib\x64的路径
    在这里插入图片描述
    然后点击生成即可
    在这里插入图片描述

    这样就表示生成成功了。就可以去这个路径找到生成的动态库。
    在这里插入图片描述

    然后将SDL_net.h头文件和生成的SDL2_net.dll动态库 SDL2_net.lib静态库分别放在SDL的路径下

    SDL_net.h ->  D:\SDL2-2.26.0\include
    SDL2_net.dll -> D:\SDL2-2.26.0\lib\x64
    DL2_net.lib -> D:\SDL2-2.26.0\lib\x64
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述
    到此,编译Dis所需要的前置条件都完成了。

    编译Open-Dis

    第一步打开CMake 设置source code pathbuild path
    在这里插入图片描述
    2、 添加俩个属性
    点击【 +Add Entry】 按钮 添加一个配置

    Name: SDL_INC_DIR
    Type: PATH
    Value: D:/SDL2-2.26.0/include
    
    • 1
    • 2
    • 3

    同样的方法再添加一个。

    Name: SDL_LIB_DIR
    Type: PATH
    Value: D:\SDL2-2.26.0\lib\x64
    
    • 1
    • 2
    • 3

    3、先点击Configure 然后点击Generate 最后点击Open Project。
    在这里插入图片描述

    4、在项目中右击生成解决方案。无报错就结束。
    在这里插入图片描述

    编译结束
    在这里插入图片描述


    大功告成

  • 相关阅读:
    【复杂句的逻辑练习题】定语从句的省略
    Web信息收集,互联网上的裸奔者
    2022 最新 互联网 Java 工程师面试题Redis面试题
    SPASS-图表的创建&编辑
    Java-多线程进阶
    保姆级安装 Linux 虚拟机教程 (CentOS 7)
    Matlab:程序设计
    js的作用域
    dll动态链接库及ocx activex 控件regsvr32注册失败 解决方法(Win10)
    k8s入门之pod(四)
  • 原文地址:https://blog.csdn.net/qq_45254369/article/details/128144269