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

news2024/9/30 9:29:29

目录

  • Open-Dis
    • Open-Dis简介
    • 分布式交互仿真
    • 更多资料
    • Open-Dis下载
    • CMake编译教程
  • SDL2和SDL_net
    • SDL介绍
    • 下载SDL
    • 配置SDL2
    • 下载SDL_net
    • 配置SDL_net工程
  • 编译Open-Dis

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: <SDL2-install-folder>/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: <SDL2-install-folder>/lib/x64 (64 bit) or <SDL2-install-folder>/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

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

编译Open-Dis

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

Name: SDL_INC_DIR
Type: PATH
Value: D:/SDL2-2.26.0/include

同样的方法再添加一个。

Name: SDL_LIB_DIR
Type: PATH
Value: D:\SDL2-2.26.0\lib\x64

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

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

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


大功告成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于二进制

关于二进制 读《程序是怎样跑起来的》 用二进制表示计算机信息的原因 计算机内部是由IC&#xff08;集成电路&#xff09;这种电子部件构成的。CPU和内存也是IC的一种&#xff0c;IC有几种不同的形状&#xff0c;有的像一条黑色的蜈蚣&#xff0c;在其两侧有数个乃至数百个引脚…

智慧水务:数字孪生污水处理厂,3D可视化一键管控

近年来&#xff0c;智慧水务、数字水务成为水务行业的热点领域。对于污水处理领域&#xff0c;如何贯彻落实双碳战略&#xff0c;积极推进智慧水厂建设&#xff0c;显得尤为关键。 可视化技术结合视频融合、BIM、5G、物联网、云计算及大数据等先进技术&#xff0c;围绕水质达标…

用DIV+CSS技术制作个人博客网站(web前端网页制作课期末作业)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

【Docker】搭建MySQL主从复制,详细的图文展示

Docker是基于Go语言实现的云开源项目。Docker的主要目标是**“Build&#xff0c;Ship and Run Any App,Anywhere”**。也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;使用户的APP&#xff08;可以是一个WEB应用或数据库应用等等&#xff09;及其运…

[附源码]JAVA毕业设计计算机散件报价系统(系统+LW)

[附源码]JAVA毕业设计计算机散件报价系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技…

技巧 | Python绘制2022年卡塔尔世界杯决赛圈预测图

文章目录&#x1f3f3;️‍&#x1f308; 1. 世界杯三十二强&#x1f3f3;️‍&#x1f308; 2. 世界杯十六强&#x1f3f3;️‍&#x1f308; 3. 世界杯八强&#x1f3f3;️‍&#x1f308; 4. 世界杯四强&#x1f3f3;️‍&#x1f308; 5. 决赛圈&#x1f3f3;️‍&#x1f…

技术内幕 | 阿里云EMR StarRocks 极速数据湖分析

作者&#xff1a;阿里云智能技术专家 周康&#xff0c;StarRocks Active Contributor 郑志铨&#xff08;本文为作者在 StarRocks Summit Asia 2022 上的分享&#xff09; 为了能够满足更多用户对于极速分析数据的需求&#xff0c;同时让 StarRocks 强大的分析能力应用在更加广…

【温故而知新】构建高可用Linux服务器(三)

时间&#xff1a;2022年12月02日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 前言 大家好&#xff0c;欢迎来到小蒋聊技术。小蒋准备和大家一起聊聊技术的那些事。 今天小蒋继续坚持“温故而知新”的落地实践&#xff0c;继续…

[附源码]计算机毕业设计影院管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【单片机基础】C51语言基础

文章目录1、使用C/C开发单片机的优点2、C51中的基本数据类型3、C51数据类型扩展定义4、C51中的运算符与基础语句5、二进制与十六进制转换1、使用C/C开发单片机的优点 C/C语言作为一种非常方便的语言得到了广泛的支持&#xff0c;如STC、STM32、arduino、乐鑫科技的单片机都支持…

【目标搜索】基于matlab运动编码粒子群算法优化 (MPSO) 无人机搜索丢失目标【含Matlab源码 2254期】

⛄一、运动编码粒子群算法简介 1 粒子群算法 PSO算法是一种基于群体智能的随机优化方法。在PSO中&#xff0c;粒子群模拟鸟群行为在搜索空间中探索&#xff08;全局搜索&#xff09;和开发&#xff08;局部搜索&#xff09;&#xff0c;最终找到全局最优解。粒子的速度和位置更…

网络安全观察报告 攻击态势

设备类漏洞从未缓解 从图 5.1 中可以看到&#xff0c;针对设备漏洞的攻击占全部利用漏洞攻击的 43%&#xff0c;这和近两年智能路由器等 联网设备大规模增长密切相关。正如绿盟科技在《2017 年物联网报告》1 中提到的那样&#xff0c;很多智能设备 在设计之初&#xff0c;安全…

第3章 Thymeleaf模板渲染

文章目录第3章 Thymeleaf模板渲染3.2 Thymeleaf编程起步3.4 读取资源文件3.5 路径处理3.6 内置对象操作支持3.7 对象输出3.8 页面逻辑处理3.9 数据迭代处理3.10 包含指令3.11 Thymeleaf数据处理3.12 本章小结3.12 本章小结第3章 Thymeleaf模板渲染 3.2 Thymelea…

【OpenCV-Python】教程:3-13 Hough直线变换

OpenCV Python Hough直线变换 【目标】 理解Hough变换的概念学会使用Hough变换检测直线cv2.HoughLines(), cv2.HoughLinesP() 【理论】 Hough 变换是一个非常有用的技术&#xff0c;可以检测任何形状&#xff0c;只要那个形状可以通过数学方程表示出来&#xff0c;即使检测…

[附源码]计算机毕业设计springboot小区疫情事件处理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

传感器_三相-双极性-开关型-霍尔传感器 速度+电角度解算理解

1 前言 最近项目上涉及到使用三相-双极性-开关型-霍尔传感器解算 电机转速 、电角度的问题。结合自己的理解请教前辈&#xff0c;终有所得&#xff0c;下面做一个学习的记录。 主要以思路为主&#xff0c;不涉及代码。 2 正文 2.1 什么是三相&#xff1f; 所谓三相-双极性-…

毕设项目 - SSM农业商品信息管理权限后台子系统(含源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi&#xff0c;各位同学好呀&#xff0c;这里是M学姐&#xff01; 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品&#xff0c;【基于SSM的农业商品…

(算法设计与分析)第四章贪心算法-第一节:贪心算法概述

文章目录一&#xff1a;贪心算法&#xff08;1&#xff09;概述&#xff08;2&#xff09;特点&#xff08;3&#xff09;框架二&#xff1a;典型贪心算法问题&#xff08;1&#xff09;无重叠区间①&#xff1a;题目描述②&#xff1a;解题思路③&#xff1a;完整代码&#xf…

【Android App】人脸识别中扫描识别二维码实战解析(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、扫描识别二维码 不仅可以利用zxing库生成二维码&#xff0c;同样利用zxing库可以扫描二维码并解析得到原始文本&#xff0c;此时除了给build.gradle添加如下一行依赖配置 implementation com.google.zxing:core:3.4.1 还需要…

一文读懂什么是云原生|推荐收藏

Forrester数据显示&#xff0c;在2021年&#xff0c;全球云原生应用持续上升&#xff0c;组织中容器和无服务器技术的使用率在一年内都增长了75%以上。 Gartner预测&#xff0c;到2025年&#xff0c;将会有超过95%的新数字工作负载被部署在云原生平台上。 “未来的软件一定是长…