首页 > 其他分享 >OMNET++从环境部署到tictoc

OMNET++从环境部署到tictoc

时间:2024-06-12 09:33:27浏览次数:21  
标签:omnetpp get ++ sudo apt tictoc install OMNET

OMNET++从环境部署到tictoc

实验目的

本实验在安装Ubuntu 18.04操作系统的虚拟机上,安装OMNET++及其可视化环境,并运行其引导程序tictoc

实验过程

安装依赖

sudo apt update
sudo apt-get install -y build-essential
sudo apt-get install -y flex bison
sudo apt-get install -y zlib1g-dev
sudo apt-get install -y libxml2-dev
sudo apt install -y sqlite3
sudo apt-get install -y libsqlite3-dev

确认已经安装有python3(如果没有,运行sudo apt-get install -y python3),当路径/usr/bin/python3可访问时,运行以下命令:

sudo ln -s /usr/bin/python3 /usr/bin/python
sudo apt install -y python3-numpy
sudo apt-get install -y python3-matplotlib

安装可视化工具QT

下载好.run文件之后,对该文件执行sudo chmod -R 777命令,然后./运行,按照qt的提示进行安装

  • 注意安装过程中,要连版本号一起勾选安装,例如下图的5.12.9

添加环境变量,可参考链接

可以先使用sudo apt-get install qt5-default命令安装qt5,否则后续步骤可能报错

下载OMNET++

wget https://github.com/omnetpp/omnetpp/releases/download/omnetpp-5.6.2/omnetpp-5.6.2-src-linux.tgz
tar xvfz omnetpp-5.6.2-src-linux.tgz
cd omnetpp-5.6.2/
. setenv

添加到$HOME

echo "export PATH=$HOME/omnetpp-5.6.2/bin:\$PATH" >> ~/.bashrc

其他配置(如果运行OMNET++时不需要动态的图形界面,WITH_QTENV参数设置为no即可)

source ~/.bashrc
./configure WITH_QTENV=yes WITH_OSG=no WITH_OSGEARTH=no

应该要出现Your PATH contains /opt/omnetpp-5.6.2/bin. Good!的提示。如果出现如下图所示的报错,提示qmake: could not exec '/usr/lib/qt5/bin/qmake': No such file or directory时,使用sudo apt-get install qt5-default命令安装qt5即可解决

然后运行make(如果需要QTENV,这步所需的时间可能较长),成功后会提示接下来执行omnetpp即可运行

  • 如果提示需要jdk环境,用sudo apt install openjdk-8-jdk版本,java -version有信息即可
  • 注意之后每次需要使用omnetpp时,需要先运行. setenv(注意中间的空格)

运行tictoc

执行omnetpp命令后,则会启动omnet++的界面

接下来根据tutorial中的提示编写代码,tutorial中有tictoc的详细代码内容和解析,主要步骤如下:

  • 新建命名为tictoc的文件夹
  • 添加.ned文件
  • 添加C++文件
  • 为了运行模拟,创建omnetpp.ini文件

准备好上述文件之后,点击上方的运行按钮,如果可视化环境运行正常,则应该出现一个新的窗口,如下图所示

使用新窗口上方的run和stop按钮,就可以运行tictoc模拟,运行效果如下:

标签:omnetpp,get,++,sudo,apt,tictoc,install,OMNET
From: https://www.cnblogs.com/CCchaos/p/18243307

相关文章

  • 计算机毕业设计项目推荐,32127 爬虫-自驾游搜索系统(开题答辩+程序定制+全套文案 )上万套
    目 录摘要1绪论1.1研究背景1.2爬虫技术1.3flask框架介绍21.4论文结构与章节安排32 自驾游搜索系统分析42.1可行性分析42.2系统流程分析42.2.1数据增加流程52.3.2数据修改流程52.3.3数据删除流程52.3系统功能分析52.3.1功能性分析62.......
  • 计算机毕业设计项目推荐,32006 node 中国传统节日介绍网站(开题答辩+程序定制+全套文案
    基于node.js中国传统节日介绍网站 摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,中国传统节日介绍网站当然也不能排除在外。中国传统节日介绍网站是以实际运用为开发背景,运用软件工程原理和开发方法,采......
  • 计算机毕业设计项目推荐,29042 基于Web的医院护理管理系统的设计(开题答辩+程序定制+全
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,医院当然也不例外。医院预约管理系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进......
  • C/C++ 宏定义注意事项
    在C/C++中,宏定义是通过#define预处理指令来实现的。宏定义虽然方便,但也有一些潜在的问题和注意事项需要开发者注意。以下是关于C/C++宏定义相关的注意事项:没有类型检查:宏定义是文本替换,所以编译器不会进行类型检查。这可能导致在替换后产生类型不匹配或意外的行为。括......
  • C/C++学学习计划
    一、自我认知最近高考的结束让考生学子们顺利走完了一段艰苦的学习生涯,意味着可以暂时放下学习去享受生活,看着他们散发青春活力的样子我突然想到了当时的我也是那个模样。但回过头来,我已经是一个大二快结束,下半年就大三的学生了,我对未来充满着焦虑,对未来的方向也十分迷茫,我自......
  • C / C++ 保留两位小数(setprecision(n)的一些用法总结)
    转载:https://blog.csdn.net/qq_36667170/article/details/79265224做题遇到保留两位小数的题目,课本上写的又多又杂,网上查来的也是一堆内容需要筛选,눈_눈还是自己总结一下吧。首先说C++代码 #include<iomanip>//不要忘了头文件 //第一种写法 cout<<setiosflags(io......
  • C++基础入门学习记录
    本系列基于黑马程序员|c++课程,记录学习相关视频——黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibiliC++基础入门2数据类型C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存2.1整型作用:整型变量表示的是=......
  • CH01_初识C++
    CH01_初识C++第一个C++程序新建项目新建文件编写代码#include<iostream>usingnamespacestd;intmain(){ cout<<"helloworld"<<endl; system("pause"); return0;}运行程序注释作用:在代码中加一些说明和解释,方便阅读代码。两种格式:单行注释://这是......
  • C++面向对象语言自制多级菜单
    因为要做一个小应用,需要一个菜单类,在网上找了许久,也没有找到一款心仪的菜单类,索性用C++语言,自制一个命令行级别的菜单类,并制作成库,现记录下来,供以后借鉴。一、特性无限制条目无限制层级用户自定义条目和动作脚本式生成菜单类二、代码实现(一)菜单类菜单类主要负责菜单的......
  • C++ try-catch 语句的注意事项
    在C++中,try-catch 语句用于处理异常。当在 try 块中的代码抛出一个异常时,程序会立即跳出 try 块,并查找与之匹配的 catch 块来执行。以下是使用 try-catch 语句时需要注意的一些事项:异常类型匹配:catch 块后面必须跟上一个异常类型(或者是省略类型以捕获所有类型的......