Open-Dis的C++版本编译(CMake-gpu 3.21.4)以及SDL2和SDL_net库的配置使用
Posted 林夕07
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Open-Dis的C++版本编译(CMake-gpu 3.21.4)以及SDL2和SDL_net库的配置使用相关的知识,希望对你有一定的参考价值。
目录
Open-Dis
Open-Dis简介
Dis是国防部,北约和联合国实时/虚拟世界建模和仿真中使用最广泛的协议之一。 Open-DIS
是Java
、javascript
、python
、 C ++
和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
- Open
CMake (cmake-gui)
via the the start menu. - Enter the open-dis-cpp directory path into the Source and Build fields.
- 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 beC:/SDL2/include
) - 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 beC:/SDL2/lib/x64
) - Click Configure and follow the prompts, selecting the correct generator (i.e. Visual Studio version).
- Click Generate
- Click Open Project - This should open the generates solution file in Visual Studio
- 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.dll
和SDL2_net.dll
库。
SDL2和SDL_net
SDL介绍
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。当前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
下载SDL
下载解压好打开应该是这样的:
配置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 path
和 build 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、在项目中右击生成解决方案。无报错就结束。
编译结束
大功告成
以上是关于Open-Dis的C++版本编译(CMake-gpu 3.21.4)以及SDL2和SDL_net库的配置使用的主要内容,如果未能解决你的问题,请参考以下文章
如何在Visual Studio中选择C++和C#的编译器版本