【OMNET++】OMNET安装卸载说明以及原理探讨

article/2025/7/20 16:50:30

前言

我们安装OMNET,参考file:///D:/omnetpp-5.4.1-src-windows/omnetpp-5.4.1/doc/InstallGuide.pdf的官方文档,其支持的平台很多,例如window、Ubuntu 、Linux以及红帽等系统,这篇博文以window为例,简单说明其中注意事项和原理。

1. 注意事项

  • OMNET5.0以后的版本,仅支持64位window,版本为win7和win10。
  • 安装路径不要出现空格和特殊符号
  • 安装时尽量关闭杀毒和防护软件

2. 安装方法

OMNET提供了很多功能宏,如果你不需要其中一些功能,可以通过配置 configure.user 关掉这些功能。初学者的话,建议直接用默认的配置文件就可以了。
第一步:打开 mingwenv.cmd

$ ./configure 
$ make

2.1 ./configure

这个命令,主要是来配置编译前的基本环境和编译器。主要包括

  • mingw32
  • 轻量编译器clang/clang
  • C/C++ compiler
  • 交叉编译器
  • make/qmake
  • Qt5相关配置
  • 安装路径合法性
    如果没有什么问题的话,会看到相关的打印:
Your PATH contains /d/omnetpp-5.4.1-src-windows/omnetpp-5.4.1/bin. Good!

2.2 make

make命令主要作用是编译,分为两部分:

  • 软件本身底层框架及环境
  • 软件本身自带的一些例子
    在这里插入图片描述
    出现以下打印即结束:
Now you can type "omnetpp" to start the IDE

2.3环境变量

如果想在shell之外启动OMNeT++模拟,则需要将OMNeT++的bin、tools/win64/usr/bin和tools/win64/mingw64/bin目录添加到路径中。
在设置环境变量设置对话框中,选择路径或列表中的路径,单击“编辑”。将“;\bin”和其他需要的目录附加到值,其中是OMNeT++根目录的名称(例如C:\omnetpp-5.4.1),按回车键保存。

3.卸载和单编译

如果我们想要重新安装或者卸载,输入一下命令即可:

$ ./configure 
$ make clean 
$ make

如果您只想重新编译单个库,请切换到库的目录(例如cd src/sim)并键入:

$ make clean 
$ make

在代码中使用多重继承时,MinGW/Clang 3.8会生成不正确的代码。因此,现在不建议使用MinGW/clang。

4.内核原理

OMNeT++主要由六个部分组成:仿真内核库(simulation kernel library,简称Sim),网络描述语言的编译器(network description compiler, nedc),图形化的网络编辑器(graphical network description editor,GNED),仿真程序的图形化用户接口-Tkenv/Qtenv,仿真程序的命令行用户接口-Cmdenv,图形化的输出工具-Plove和Scalar。 Sim是仿真内核和类库,用户编写的仿真程序要同Sim连接,Sim在OMNeT++中占据最为核心重要的地位。
(1).网络描述(NED)语言
NED是模块化的网络描述语言。网络描述包括大量的对组件的描述,如通道,简单和复合模块的类型。
(2).用户接口
OMNeT++的用户接口用于实现仿真程序的人机交互,OMNeT++允许模型内部机制对用户可视化,也允许用户启动和终止仿真,并更改模型内部的变量。OMNeT++中的图形化接口是一个用户工具,可方便用户了解模型内部的运行机制。
在这里插入图片描述

  • (1)执行模型和Sim:仿真内核管理将来的事件,当有事件发生时,仿真内核就调用执行模型中的模块。执行模型的模块存储在Sim的main对象中。执行模型依次调用仿真内核的函数并使用Sim库中的类。
  • (2)Sim和模型组件库:当仿真开始运行创建了仿真模型的时候,仿真内核就实例化简单模块和其它的组件。当创建动态模块时,仿真内核也要引用组件库。实现在模型组件库中注册和查寻组件也是Sim的功能。
  • (3)执行模型和Envir:ev对象作为Envir的一部分,是面向执行模型的用户接口。仿真模型使用ev对象来记录调试信息。
  • (4)Sim和Envir:由Envir决定创建何种模型,Envir包含主要的仿真循环,并调用仿真内核以实现必须的功能。Envir捕捉并处理执行过程中发生在仿真内核和或类库中的错误和异常。
  • (5)Envir和Tkenv,Cmdenv:Envir定义了表示用户接口的TOmnetApp基类,Tkenv和Cmdenv都是TOmnetApp的派生类。main()函数是Envir的一部分,为仿真决定选用合适的用户接口类,创建用户接口类的实例并执行。Sim和模型对ev对象的调用通过实例化TOmnetApp类进行。Envir通过TOmnetApp和其它类的方法实现Tkenv和Cmdenv的框架和基本功能。

加入讨论

在这里插入图片描述


http://chatgpt.dhexx.cn/article/s6KPhgsh.shtml

相关文章

Ubuntu18.04 安装 omnet 5.6.2

1. 下载所需的OMNet版本 下载链接: OMNeT官网下载 2. 解压下载的omnet包,找到安装教程 解压方式:可以鼠标右击,选择Extract here;也可以在终端中使用命令行解压. 安装教程在: omnetpp-5.6.2-src-linux/omnetpp-5.6.2/doc/Install…

OMNeT学习之TicToc2-7详解

OMNeT学习之TicToc2-7详解 前言 安装好OMNeT,学会新建项目之后,开始学习OMNeT提供的tictoc案例,共17个,之前的博客中已经讲解了Tictoc1,本次学习2-7。 本人学习一个tictoc工程,主要就是看它的cc文件、ned…

omnet++构架与源码分析(1)

omnet模型以及运行环境部分使用c开发,IDE以及插件使用Eclipse以及插件方式开发。其中c代码位于解压后的include与src目录; src下面分为: sim:仿真内核类的CC代码;各种头文件,都在include目录;…

linux下运行omnet,Ubuntu安装Omnet++

1.官网下载Omnet++压缩包(https://omnetpp.org/),解压到安装文件夹 tar -zxvf omnetpp-5.1.1-src-linux.tgz /opt 2.运行./configure 报错configure: error: Bison not found, needed to build OMNeT++/OMNEST – please install it! 解决办法:安装bison,安装完成后会提示还…

OMNeT学习之新建工程

OMNeT学习之新建工程 前言 之前学习了OMNeT的安装与运行官方的实例代码,这篇文章记录一下,OMNeT如何创建一个新的项目。 本人为初学者,如有错误望批评指正! 本文原创,创作不易,转载请注明! …

omnet++ 之aloha示例 的动画效果分析

void Host::refreshDisplay() const {cCanvas *canvas getParentModule()->getCanvas();const int numCircles 20;const double circleLineWidth 10;// 第一次使用时候创建:如果没有传输波形图,则创建一个圆环内部填色,创建20个圆环&am…

【OMNeT+INET】详解OMNeT开源库INET(一)

1、前言 在我看来,网络模拟器是用于评估目标系统性能和能力的方便工具,不同的设计方案,在不同的配置下不同的操作条件和运行场景下,可以用于帮助理解系统并获得与性能相关的参数(例如吞吐量、延迟、稳定性、健壮性和可…

omnet结果分析anf文件

运行omnet项目,在result文件夹里生成vec 和sca 文件。这两个文件是模拟的统计信息。 我们下面来进行结果分析,首先要新建一个.anf 的分析文件。(直接双击vec文件系统会提示新建一个anf文件,finish)Finish 之后,把左侧result 文件夹里面所有的.sca、.vec 文件拖到Input fi…

一些OMNET使用心得

一些菜鸡学习心得,如果有错的话希望大佬能帮忙指出,感激不尽!! (底层组织结构是大佬帮忙写的,感谢大佬带入门) 项目组织 \prj \prjname \simulation \results package.ned omnet.ini n…

OMNET的安装说明

1.安装MingGW GCC编译环境的安装程序 1.下载安装包: http://www.mingw.org/download/installer 2.自动弹出一个窗口 3.选择下载  左栏选中basic Setup,右栏选中GCC和G,选择的方式右键 Mark for Installation 4.下载成功  点击菜单栏的In…

2022-04-21 Omnet学习笔记(一)

Omnet学习笔记(一) 前言 1、本机为Inspiron 5005,为64位,所用操作系统为Windos 10。所使用软件为Omnet-5.2.1。 2、推荐Omnet入门教程系列 实验现象 在网络Tictoc1中创建两个节点,分别命名为"tic"和"t…

OMNeT++学习(概述+框架)一

中文手册地址 之前一直学习的是mininet,但是所做的方向有一个开源的代码,和我需要的框架一样,它用的仿真器是Omnetpp-5.4.1。 概述 omnet是开源的基于组件的模块化的开放网络仿真平台。是离散事件仿真器,具备强大完善的图形界面…

OMNeT学习之OMNeT安装与运行

OMNeT学习之OMNeT安装与运行 前言 本文原创,创作不易,转载请注明!!! 本人为OMNet初学者,如有错误,请不吝请教! 最近学WSN(无线传感器网络),做传感器实验,老…

omnet++ 快速入门 | 计算机网络仿真 | omnet++ 入门教程

文章目录 omnet1 网络仿真软件综述01 wsn仿真软件02 为什么使用omnet03 学习资料04 目标 2 omnet介绍1 omnet安装与启动2 使用omnet仿真的一般步骤3 新建项目 3 定义仿真网络的拓扑结构01 新建一个空的 network02 Module的概念01-Module的概念02-Module Type的定义步骤1. ned文…

无图无真相!设计模式概览

设计模式太多,最近没有更新,最后想想还是看一点更新一点吧。

Mac系统Safari浏览器启动无图模式

有的时候我们用热点上网,图片的出现会消耗大量的流量,这时候就需要启动无图模式不加载图片。 步骤:启动Safari浏览器->偏好设置->高级->勾选“在菜单栏中显示“开发”菜单”->点击开发菜单->勾选“停用图像” 转载于:https://…

无图无真相!工厂模式结构

抽象类工厂模式结构图: 接口类工厂模式结构图: 工厂模式示例代码 工厂静态方法说明

设计模式之代理模式(Proxy Pattern)

1.概念 为其他对象提供一种代理,以控制对这个对象的访问。代理对象起到中介作用,可去掉功能或者增加额外功能。 2.角色 抽象主题角色(Subject):声明了目标对象和代理对象的共同接口,这样一来在任何可以使用…

树莓派4B配置Selenium库+设置无图无头属性

写一个树莓派4B配置selenium库,并成功调用浏览器进行自动化爬虫 本文会手把手教你配置环境,并带你写第一个selenium爬虫程序 使用版本说明 系统:官网2020-02-13-raspbian-buster-full Python:树莓派自带的3.7.3 以下所有的pip操…

屏蔽图片的chrome插件

有时候觉得CSDN博客的广告好烦啊,还有有些看小说的网站,于是找了个屏蔽图片的插件。 效果如图: 之前博客的广告 之后: CSDN的广告有字,所以不会完全不显示,但是有很多小说网站都可以直接全部屏蔽掉…